看看这个程序

来源:百度知道 编辑:UC知道 时间:2024/05/25 22:15:30
#include<math.h>
main()
{
int i,j;
for(i=101;i<=199;i++)
{
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
break;
}
if(j==sqrt(i)+1)
printf("%d",i);
}
}

求100-200间的素数,我的为什么输不出结果

#include<math.h>
main()
{
int i,j,k;
for(i=101;i<=199;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)
{
if(i%j==0)
break;
}
if(j==(k+1))
printf("%d",i);
}
}
编译通过结果正确,也就是说,你仅仅犯了一个小错:
if(j==sqrt(i)+1) -->if(j== (sqrt(i)+1) )
少了一队括号,要养成良好的习惯哦

#include<iostream.h>
#include<math.h>
void main()
{
int i=0,j=0,k=1;
for(i=101;i<=200&&k=1;i++)
{
for(j=2;j<sqrt(i);j++)
{
if(i%j==0)
k=0;
}
printf("%d",i);
}
}

if(j==sqrt(i)+1)
这个要来干吗?不是好像应该是>=嘛?