把if (j>=i/2) 的等号去掉,因为最后会执行i++,所以,退出内层for循环应该是j = i/2 + 1才对,代码如下,望采纳!:
#include
int main ( )
{ int m,n,i,j;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i=i+1)
{for(j=2;j<=i/2;j++)
if (i%j==0) break;
if (j>i/2)
printf("%d ",i) ;
}
printf("\n");
return 0;
}
截图:
#include
int main ( )
{ int m,n,i,j;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i=i+1)
{for(j=2;j<=i/2;j++)
if (i%j==0) break;
if (j>i/2) //不要等于号
printf("%d ",i) ;
}
printf("\n");
return 0;
}