C语言用while语句编一个求100到200以内的所有素数,按每行输出12个素数。

如题所述

第1个回答  2017-03-29
#include "stdio.h"
#define N1 100
#define N2 200

int main(void)
{
int i,j,k=0;
printf("\t%d —— %d 之间的素数\n",N1,N2);
for(i=N1;i<=N2;i++)
{
j=2;
while(j<i)
{
if(0==i%j)break;
j++;
}
if(j==i)
{
k++;
printf("%5d",i);
if(0==k%12)printf("\n");
}
}
printf("\n共有 %d 个素数。\n",k);
return 0;
}

追答

运行结果:

追问

谢谢了

这个是while语句嘛?

追答

谢谢你采纳😘

这个题有两个循环,内循环用来判断一个数是否素数,我用的while循环;外循环遍历100-200之间的每一个数字,我用的for循环。
之所以外循环用for,是因为用for太适合了!
当然外循环也能用while。
只要把for那一句改成以下两句即可(其他不变):
i=N1;
while(i++<=N2)

追问

好的谢谢了。

本回答被提问者采纳
第2个回答  2017-03-29
main()
{
int i,j,n=0;
for(i=101;i<=199;++i)
{
n=0;
for(j=2;j<=i/2;++j)
if(i%j==0)break;
if(j>i/2)
{
printf("%d ",i);
if(++n>12)printf("\n");
}
}
}追答

相似回答