输出100以内所有的素数,每行5个数
时间: 2024-10-04 20:01:58 浏览: 67
要输出100以内所有的素数,每行5个数,你可以使用嵌套循环和条件判断来实现。素数是只有两个正因数(1和自身)的大于1的自然数。以下是一个简单的C语言程序,按照要求打印出结果:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
int main() {
int count = 0, number = 2, last_printed = 0;
while (count < 20) { // 打印100以内前20组,每组5个素数
printf("%d ", number);
if (++count % 5 == 0 || number == 100) { // 每5个或最后一个数换行
printf("\n");
}
number++;
if (number == last_printed + 6) { // 避免重复打印相同的数字(如果上一行是连续的)
number += 5;
}
last_printed = number - 6; // 记录上一组最后一个素数,用于避免重复
}
return 0;
}
```
这个程序首先定义了一个辅助函数`is_prime()`用于检查一个数是否为素数。然后,在`main()`函数中,我们用一个计数器`count`控制打印的组数,每组打印5个数并换行。`last_printed`变量用来存储上一组最后一个素数的位置,防止同一组内重复打印。
运行这段代码,你会看到100以内前20组、每组5个素数的结果。如果你需要打印更多的素数,请修改`while`循环中的条件。
阅读全文