用c语言编一个程序,以5个数一行输出 1000 以内的全部素数
时间: 2024-10-18 07:15:27 浏览: 12
要编写一个C语言程序来输出1000以内的所有素数,并以5个数一行的方式显示,你可以采用“Sieve of Eratosthenes”算法。以下是相应的代码:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为素数
bool is_prime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
// 打印5个数一行的素数
void print_primes_in_range(int start, int end, int step) {
for (int num = start; num <= end; num += step) {
if (is_prime(num)) {
printf("%d", num);
if ((num + step) > end) {
printf("\n"); // 当到达下一行边界时换行
} else {
printf(" ");
}
}
}
}
int main() {
int limit = 1000;
print_primes_in_range(2, limit, 5); // 从2开始,步长为5,直到limit
return 0;
}
```
这段代码首先定义了一个函数 `is_prime` 来判断一个数是否是素数。然后,在 `print_primes_in_range` 函数中,我们以5为步长迭代1000以内的数,并使用 `is_prime` 函数过滤出素数。
运行此程序时,你会看到1000以内以5个数一行的方式输出的素数列表。
阅读全文