c语言判断素数的程序

img


想问问为什么不管输入什么数 输出结果都是“不是”怎么改

help凑满30个字真的好难

供参考对照:

#include <stdio.h>
int main()
{
    int x, i, isprime = 0;// 原代码里,isprime 没有初始化
    scanf("%d", &x);
    for (i = 2; i < x; i++) {
        if (x % i == 0)
            isprime = 1;
        //else          // 这两行多余 
        //    isprime = 0;
    }
    if (isprime == 1) // 是否相等用 ==  ,不是 = 
        printf("不是");
    else
        printf("是");
    return 0;
}

if判断要用“==”

if (isprime=1)改为if (isprime==1)
=号不叫等号,叫赋值符号。可能是你自己大意写错,其实你是知道的是么?

判断应该用==
for循环进入if之后应该跳出循环了,不然每次最终结果都是 isprime=0;会变成每次都是是
也要考虑到输入0或者1的情况


此外,我还从CSDN技能树中找了一些相关资料给你, 你可以学习下: