如何用C语言编写一个程序,实现循环遍历并打印100以内的所有素数,每输出5个素数换一行,输出结果应模仿提供的示例?
时间: 2024-10-24 08:03:22 浏览: 41
在C语言中,我们可以使用嵌套循环以及一些基本的数学原理来找出100以内的素数。下面是一个简单的程序,它会实现这个功能:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) { // 只需检查到num的平方根
if (num % i == 0)
return 0;
}
return 1;
}
// 主函数
void print_primes(int limit) {
int count = 0;
for (int i = 2; i < limit; i++) { // 从2开始,因为1不是素数
if (is_prime(i)) {
printf("%d ", i); // 打印素数
count++;
if (count % 5 == 0) { // 每输出5个数换行
printf("\n");
}
}
}
printf("\n"); // 输出结束后添加一个换行符
}
int main() {
print_primes(100);
return 0;
}
```
这个程序首先定义了一个`is_prime`函数用于判断给定的数字是否为素数。然后在`print_primes`函数里,我们循环遍历1到99的所有整数,如果遇到素数就打印出来,并计数。当计数达到5的时候,我们就换行。最后,在`main`函数中调用`print_primes`函数。
运行这个程序,你会看到类似这样的输出:
```
2 3 5 7
11 13 17 19 23
29 31 37 41 43
... (继续直到100)
```
阅读全文