用C语言编写程序计算并输出2到正整数n之间的所有素数
时间: 2024-05-05 12:15:13 浏览: 20
以下是使用C语言编写的程序,用于计算并输出2到正整数n之间的所有素数:
```
#include <stdio.h>
int main() {
int n, i, j, is_prime;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("2-%d之间的素数有:\n", n);
// 从2到n遍历每个数
for (i = 2; i <= n; i++) {
is_prime = 1; // 假设i是素数
// 判断i是否为素数
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0; // i不是素数
break;
}
}
// 如果i是素数,则输出
if (is_prime) {
printf("%d ", i);
}
}
return 0;
}
```
程序首先提示用户输入一个正整数n,然后从2到n遍历每个数,对于每个数i,判断是否为素数。如果是素数,则输出。素数的判断方法是从2到i-1遍历每个数j,如果能够被整除,则i不是素数,否则i是素数。
注意:该程序只适用于n比较小的情况,因为遍历的范围比较大,时间复杂度为O(n^2)。如果n比较大,建议使用更高效的算法,如埃氏筛法等。