素数求和问题,我的代码总是输出1,我找不出错误啦,大家看看吧
#include <stdio.h>#include <stdlib.h>
#include<math.h>
#define MAXSIZE 1000
int fun(int);
int main()
{
int n,m,i;
int a[MAXSIZE];
scanf("%d",&n);
while(n-->0)
{ int count=0;
scanf("%d",&m);
for(i=0;i<m;i++)
{scanf("%d",&a[i]);
if(fun(a[i]))
{count+=a[i];}}
printf("%d\n",count);}
return 0;
}
int fun(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
break;
if(i>n)
return 1;
else
return 0;
}
题目信息是第一行给出整数M(0<M<10)代表多少组测试数据
每组测试数据第一行给你N,代表该组测试数据的数量。
接下来的N个数为要测试的数据,每个数小于1000