不懂了!求指点5555

#include "stdio.h"

void main()

{

int i,j,a[2][10],s=0,k=0,m=0;

printf("Please input 20 number:\n");

for(i=0;i<2;i++)

{

for(j=0;j<10;j++)

{

scanf("%d",&a[i][j]);

m=m+a[0][j];

}

}

printf("the martrix is:\n");

for(i=0;i<2;i++)

{

for(j=0;j<10;j++)

{

printf("%d\t",a[i][j]);

s+=a[1][j];

k+=a[0][j];

}

printf("\n");

}

printf("k=%d\n",k);

printf("s=%d\n",s);

printf("m=%d\n",m);

printf("同学甲成绩的平均值是:%d\n",k/10);

printf("同学乙成绩的平均值是:%d\n",s/10);

}

为什么输出的k s m都是源代码值的二倍?

我的本意是:定义一个2行3列的数组,输入20个数,再分别求前十个以及后十个数的平均值,输出平均值

我哪里出错了?求指点

小小慕学者
浏览 1494回答 2
2回答

来虐小学生

printf("%d\t",a[i][j]);s+=a[1][j];k+=a[0][j];i会进行两次循环。。。所以是二倍

来虐小学生

改为这个试一下for(i=0;i<2;i++){for(j=0;j<10;j++){printf("%d\t",a[i][j]);if (i>0){s+=a[1][j];k+=a[0][j];}}
打开App,查看更多内容
随时随地看视频慕课网APP