你的scanf()函数格式有问题
死循环了呀,你想一下啊,如果你输一个10,那么x=2的时候,if(y%x!=0)后面的x++;不执行了啊,那么x就是一直=2就,循环一直进行。
建议else{
t=0;
break;
}
一旦找到一个能够被y整除的数就退出,那么y一定不是素数啊
供参考:
#include <stdio.h>
int main()
{
int y;
scanf("%d", &y);
int t = 1;
int x = 2;
while(x < y && t){ //修改
if(y % x == 0) t = 0; // 修改
x++;
//else t = 0; //修改
}
if(t == 1 && y != 1)printf("是素数"); //修改
else printf("不是素数");
return 0;
}
是不是输入之后没有按回车键