打印n以内的所有素数C语言
时间: 2023-10-29 12:04:24 浏览: 194
求100以内的素数c语言
以下是一个打印n以内的所有素数的C语言程序:
```c
#include <stdio.h>
int main() {
int n, i, j;
printf("Enter a positive integer n: ");
scanf("%d", &n);
// loop through all numbers from 2 to n
for (i = 2; i <= n; i++) {
int is_prime = 1;
// check if i is prime
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
// print i if it is prime
if (is_prime) {
printf("%d\n", i);
}
}
return 0;
}
```
该程序使用两个嵌套的循环,外部循环从2到n遍历所有数字,内部循环检查每个数字是否为素数。如果一个数字是素数,就打印它。
注意,在内部循环中,我们只需要检查从2到该数字的一半之间的数是否能够整除该数字,因为大于一半的除数就不可能整除该数字了。此外,我们使用一个名为is_prime的标志变量来记录当前数字是否为素数,如果是素数,is_prime的值为1,否则为0。
该程序可以输出n以内的所有素数,例如,如果输入n为10,输出将是:
```
2
3
5
7
```
阅读全文