#include<stdio.h>
int main()
{
int num,i;
num=0;
scanf("%d",&num);
for(;num<2;)
{
printf("error");
printf("put new num");
scanf("%d",&num);
}
for(i=2;i<=num;++i)
{
if(i%num==0)
{
break;
printf("NO");
}
else
{
break;
printf("YES");
}
}
return 0;
}
for(i=2;i<=num;++i)
把i<=num改成i<num
如果i=num,那num%i肯定是0 啊,你不就没有素数了么
错误在代码中标注了,代码修改如下:
#include<stdio.h>
int main()
{
int num,i;
num=0;
scanf("%d",&num);
for(;num<2;)
{
printf("error");
printf("put new num");
scanf("%d",&num);
}
for(i=2;i<num;++i) //不能是i <= num
{
if(num%i==0) //这里是num%i,不是i%num
{
break;
printf("NO");
}
}
//在这里输出yes
if(i == num)
printf("YES");
return 0;
}