先把最后的if条件语句改为 j==9
另外j的循环终止条件为p
最后的if条件语句应该为 j==p-1
另外你的a[10][10]限制了数据的组数 和每组数据的个数
下边是优化后的:
[ 本帖最后由 lxsjzbd 于 2012-4-8 19:48 编辑 ]
另外j的循环终止条件为p
最后的if条件语句应该为 j==p-1
另外你的a[10][10]限制了数据的组数 和每组数据的个数
下边是优化后的:
程序代码:
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int i,j; /*二维数组变量*/ int m,p; /*数据个数*/ int k,b; int s=0; int a[10][10]; scanf("%d\n",&m); /*输入几组测试数据*/ for(i=0;i<m;i++) { scanf("%d\n",&p); /*输入几个数据*/ for(j=0;j<p;j++) scanf("%d",&a[i][j]); } for(i=0;i<m;i++) { for(j=0;j<p;j++) { b=sqrt(a[i][j]); for(k=2;k<=b;k++) if(a[i][j]%k==0) break; if(k>=b+1) s+=a[i][j]; } printf("%d\n",s); } }
[ 本帖最后由 lxsjzbd 于 2012-4-8 19:48 编辑 ]