1 /*描述 2 现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。 3 输入 4 第一行给出整数M(0<M<10)代表多少组测试数据 5 每组测试数据第一行给你N,代表该组测试数据的数量。 6 接下来的N个数为要测试的数据,每个数小于1000 7 输出 8 每组测试数据结果占一行,输出给出的测试数据的所有素数和 9 样例输入 10 3 11 5 12 1 2 3 4 5 13 8 14 11 12 13 14 15 16 17 18 15 10 16 21 22 23 24 25 26 27 28 29 30 17 样例输出 18 10 19 41 20 52*/ 21 #include<stdio.h> 22 int main() 23 { 24 int M,N,i; 25 scanf("%d",&M); 26 while(M --) 27 { 28 int f(int a); 29 int x,sum = 0; 30 scanf("%d",&N); 31 for(i = 1 ; i <= N ; i++) 32 { 33 scanf("%d",&x); 34 if(f ( x )) 35 sum=sum+x; 36 } 37 printf("%d\n",sum); 38 } 39 return 0; 40 } 41 #include<math.h> 42 int f(int a)//素数 43 { 44 int i; 45 if(a < 2) 46 return 0; 47 for(i = 2 ; i <= sqrt(a) ; ++i) 48 if(a % i == 0) 49 return 0; 50 return a; 51 } 52