#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
//int flag = 1;//这句代码的意思是int flag = 1的时候是素数,但是我第一次做的时候将它放在这里出错了
int count = 0;
for (i = 100; i <= 200; i++)//先打印出100-200的数,然后再在这些数中再进行筛选
{
int flag = 1;//那么之前我说放在前面是错误的是为什么呢?
//因为放在最前面的话只会将flag初始化为1一次,但是后面我们有一句代码是flag=0,也就是将flag赋值为0,
//如果我们将int flag = 1放在最前面的话,那么在循环中flag就会始终为0,那么就会出现我之前的错误
for (j = 2; j < i; j++)//因为素数的定义是只有能被1和它本身整除的数是素数,那么我们就将除了1和它本身的数全部列出来
{
if (i % j == 0)//这里就是看会不会被除了1和它本身的数列出来,如果被除了1和它本身的数整除,那么就运行if语句中的内容
{
flag = 0;//前面假设flag=1是素数,那么flag=0就不是素数
break;//这里使用break跳出第二个for循环
}
}
if (flag == 1)//如果是素数就将它打印出来
{
count++;//这里其实是计算一共有多少个素数
printf("%d ", i);
}
}
printf("\ncount=%d\n", count);
return 0;
}
写一个代码:打印100~200之间的素数
最新推荐文章于 2023-10-22 22:26:28 发布