C语言输出1000以内的质数,程序如下,请问是怎么打印出2的
#include<stdio.h>#include<math.h>intmain(intargc,char**aargv){inti,j,w,k,n=0;for(i=2;...
#include<stdio.h>
#include<math.h>
int main(int argc,char** aargv)
{
int i, j, w, k, n = 0;
for (i = 2; i <= 1000; ++i)
{
w = 1;
k = sqrt(i);
for (j = 2; j <= k; ++j)
{
if (i%j == 0)
{
w = 0;
break;
}
}
if (w)
{
++n;
if (n%10 == 0)
printf("%d\n",i);
else
printf("%d\t",i);
}
}
}
当i=2时,for(j=2;j<=k;j++),一开始i%j不就是等于0了吗?那flag就标0了,怎么会有输出呢?
当i=2时,for(j=2;j<=k;j++),一开始i%j不就是等于0了吗?那w就标0了,怎么会有输出呢? 展开
#include<math.h>
int main(int argc,char** aargv)
{
int i, j, w, k, n = 0;
for (i = 2; i <= 1000; ++i)
{
w = 1;
k = sqrt(i);
for (j = 2; j <= k; ++j)
{
if (i%j == 0)
{
w = 0;
break;
}
}
if (w)
{
++n;
if (n%10 == 0)
printf("%d\n",i);
else
printf("%d\t",i);
}
}
}
当i=2时,for(j=2;j<=k;j++),一开始i%j不就是等于0了吗?那flag就标0了,怎么会有输出呢?
当i=2时,for(j=2;j<=k;j++),一开始i%j不就是等于0了吗?那w就标0了,怎么会有输出呢? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询