为了账号安全,请及时绑定邮箱和手机立即绑定

不懂了!求指点5555

不懂了!求指点5555

C C++
小小慕学者 2015-06-23 00:49:47
#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个数,再分别求前十个以及后十个数的平均值,输出平均值我哪里出错了?求指点
查看完整描述

2 回答

已采纳
?
来虐小学生

TA贡献20条经验 获得超4个赞

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

s+=a[1][j];

k+=a[0][j];


i会进行两次循环。。。所以是二倍

查看完整回答
反对 回复 2015-07-01
?
来虐小学生

TA贡献20条经验 获得超4个赞

改为这个试一下

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];

}

}


查看完整回答
反对 回复 2015-07-01
  • 2 回答
  • 0 关注
  • 1493 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信