我们再来看一个程序题目
如何写程序输出100以内的素数
#include<stdio.h>
int main()
{
int x;
for (x = 2; x < 100; x++)
{
int i;
int isPrime = 1;
for (i = 2; i < x; i++)
{
if (x% i ==0)
{
isPrime = 0;
break;
}
}
if (isPrime == 1)
{
printf("%d",x);
}
}
printf("\n");
return 0;
}
注意的是内外的循环的变量不能是一样的。
然后,我们再换一种题目的要求,要求的是输出前50个素数,这样的话,我们可能就不需要for循环来进行判断了,因为按照常理来讲,我们并不清楚前50个素数再在多少的数字前面,所以我们使用while循环来搞定这个事情:
然后为了让这个循环可以完成,我们可以定义一个数字,然后让它从0开始计数到等于50的时候退出循环,我们具体来看的话是这样的:
#include<stdio.h>
int main()
{
int x;
int cnt=0;
//for (x = 2; x < 100; x++)
while(cnt<50)
{
int i;
int isPrime = 1;
for (i = 2; i < x; i++)
{
if (x% i ==0)
{
isPrime = 0;
break;
}
}
if (isPrime == 1)
{
printf("%d",x);
cnt++;
}
}
printf("\n");
return 0;
}