新手遇到疑问,请高手解答
刚刚编一段输出101-200以耐素数的程序,程序如下#include"math.h"
main()
{
int i,j,k,leap,h=0;
for(i=101;i<=200;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0)
leap=0;
else leap=1;
if(leap)
printf("%-4d",i);
}
}
结果不行,输出的不是素数。然后我参考了一段程序以后修改了一下,结果就可以了,但是不知道为什么会这样。请高手解答,
修改后程序:
#include"math.h"
main()
{
int i,j,k,leap,h=0;
for(i=101;i<=200;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0)
leap=0;
if(leap)
printf("%-4d",i);
leap=1;
}
}