c语言程序设计 求1到20的素数

如题所述

以下是求1到20的素数的C语言程序:

```c
#include <stdio.h>

int main() {
int i, j, flag;
printf("1-20的素数有:");
for (i = 2; i <= 20; i++) {
flag = 0;
for (j = 2; j <= i/2; j++) {
if (i%j == 0) {
flag = 1;
break;
}
}
if (flag == 0 && i != 1) {
printf("%d ", i);
}
}
return 0;
}
```

程序的主要思路是使用两层循环,外层循环遍历1到20之间的整数,内层循环遍历当前数除去1和自身后的所有数,判断是否有整除的情况。如果存在因子,则说明该数不是素数,将标志位flag置为1,跳出内层循环。如果内层循环遍历完毕后,flag仍等于0,则说明该数是素数,将其输出即可。需要注意的是,1不是质数。

输出结果为:
```
1-20的素数有:2 3 5 7 11 13 17 19
```
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-28
#include <stdio.h>
int isprime(int n)
{for(int i=2;i*i<=n;i++)
if(n%i==0)return 0;
return n>1;
}
int main()
{int i;
for(i=2;i<20;i++)
if(isprime(i))printf("%d ",i);
printf("\n");
return 0;
}
相似回答