代码修改如下,如有帮助,请帮忙采纳一下,谢谢:
#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++;
}