调用函数输出100到200的素数

img

为什么什么都输出不了。

1、30行里面要加break
你的逻辑是等于1为素数,等于0不是素数。
2、main方法中调用的地方

if(prime(n)==0)
改为
if(prime(n))

img

等于1才输出啊

int  prime(int n)
{
    int i;
    if(n<2)
        return 0;
    for(i=2;i<n;i++)
        if(n%i==0)
            return 0;
    return 1;
}

int main()
{
    for(int n=100;n<=200;n++)
      if(prime(n))
        printf("%d ",n);
    return 0;
}