关于判断一个数是否是素数

为啥这个输入啥数都显示不是素数阿

img

你写复杂了

#include <stdio.h>
int main()
{
    int i,a = 0,n = 0;
    scanf("%d", &n);
    if(n == 1){
        printf("不是素数\n");
        return 0;
    }
    for(i = 2;i < n;i++){
        if(n % i == 0){
            printf("不是素数\n");
            return 0;
        }
    }
    printf("是素数\n");
    return 0;
}


你可以把判断给放在for循环外,if(a==0)它就是素数,否则就不是素数

这个逻辑就有问题,能整除a加1,除了i是1或0,其他的数都不可能i等于a,但i从2开始的,所以所有的数都不可能判定为素数