先把最后的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 编辑 ]






