编一个C程序,以5个数一行输出1000以内的全部素数。
时间: 2024-10-18 17:23:06 浏览: 10
下面是一个简单的C程序,用于打印1000以内所有的素数,每行输出5个:
```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;
}
void print_primes(int limit, int count_per_line) {
int count = 0;
for (int num = 2; num < limit; num++) {
if (is_prime(num)) {
printf("%d", num);
count++;
if (count % count_per_line == 0) {
printf("\n");
} else {
printf(" ");
}
}
}
printf("\n"); // 添加最后一行的换行符
}
int main() {
int limit = 1000;
int lines = (limit - 1) / 5 + 1; // 计算需要多少行来放下所有数字
print_primes(limit, 5); // 每行输出5个素数
return 0;
}
```
这个程序首先定义了一个`is_prime`函数,用于检查给定的整数是否为素数。然后,在`print_primes`函数中,遍历2到`limit-1`的所有整数,如果找到素数,就按照每行5个的方式打印出来。
运行这个程序会得到1000以内的所有素数,每五行显示一次。
阅读全文