#include
#include
int main()
{
int a,b,n=0;
scanf("%d",&a);
for(b=2;b<a;b++)
{
if(a%b==0)
n=n+1;
}
if(n==0)
printf("This is a prime");
else
printf("This is not a prime.");
return 0;
}
你的程序没有对0 1 2三个数字的特殊性做出处理,别的没看出问题。
if(a%b==0)
n=n+1;
可以简化为
if(a%b==0) { n = 1; break; }