素数判定的二三问,我感觉没毛病啊

问题遇到的现象和发生背景

img

用代码块功能插入代码,请勿粘贴截图

#include
int main()
{
    int i,n,isprime=0;
    scanf("%d",&n);
    for(i=2;i<=n;i++){
        if(n%i==0){
            isprime=1;
            break; 
        }
    }
    if(isprime==1||n==1)
        printf("No");
    else
        printf("Yes");
    return 0;
}
运行结果及报错内容

随机输入一个素数37显示no,然后调试输入数字之后没反应

我想要达到的结果

成功解决问题

i应该小于n好吧?

img

一个数除了自身和一能被整除的数是素数
而您的循环包括自身了
只需要把循环改为for(i=2;i<=n;i++);

for(i=2;i<=n;i++){,这里i不能==n,自己除自己肯定为1的。改为for(i=2;i<n;i++){

for(i=2;i<=n;i++){ 不能等于n