判断素数问题额
#include<stdio.h>#include<math.h>
int main()
{
int i,k;
int q;
printf("请输入一个数,来判断他是不是素数!\n");
while((scanf("%d",&q))!=EOF)
{
if(q==1||q==2||q==3)
printf("%d是素数!\n",q);
else
{
k=sqrt(q);
for(i=2;i<=k;i++)
{
if(q%i==0)
{
printf("%d不是素数!\n",q);
break;
}
else
printf("%d是素数!\n",q);
}
}
}
return 0;
}
为什么输入9时,输出:9是素数 9不是素数,还有输入101时 输出好多101是素数
怎么改,谢谢!