统计每一行质数的个数,为啥我这里出来的个数都是0?

img

img

代码修改如下,如有帮助,请帮忙采纳一下,谢谢:

#include <stdio.h>
int main()
{
    int n,m,i,count,x,isPrime;
    scanf("%d",&n);
    count = 0;
    for (m = 1;m<=n;m++)
    {
        count = 0;
        scanf("%d",&x);
        while(x != -1)
        {
            for(i=2,isPrime = 1;i<x;i++)
            {
                if(x%i == 0)
                {
                    isPrime = 0;
                    break;
                }
            }
            if(isPrime == 1)
                count++;
            scanf("%d",&x);
        }
        printf("%d\n",count);
    }
    return 0;
}


是不是每次被你初始化为0了,先看看你的代码。

质数不是这么判断的啊

for(int m=2;m<=n;m++)
{
scanf("%d",&x);
for(int i=2,isPrime=1;i<=n-1;i++)
{
    if(x%i==0)
    {
        isPrime = 0;
        break;
    }
}
if(isPrime == 1)
    count++;
}

img


这是我的做法,图上传错了