用C语言编写:一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。

main()
{
int i,j,s=0,avg,v[3],a[5][3];
printf("请依次按行输入分数:\n");
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&a[j][i]);
s=s+a[j][i];
}
v[i]=s/5;
s=0;
}
avg=(v[0]+v[1]+v[2])/3;
printf("math=%d\nC=%d\nfox=%d\n",v[0],v[1],v[2]);
printf("avg=%d\n",avg);
}
我输入的为1 2 3
2 3 4
3 4 5
4 5 6
5 6 7
为什么计算第一列平均值为2呢?不知道哪里出错了.

因为程序是按列录入数据,你键入的前五个数的为1,2,3,2,3,也就是a[1][0]=1;
a[2][0]=2; a[3][0]=3; a[4][0]=2; a[5][0]=3;所以按照你写的公式,第一列平均值应该是(1+2+3+2+3)/5=2.2,但是你键入的输出格式为整形,所以结果为2,完毕,如还有疑问,欢迎追问。望采纳!
温馨提示:答案为网友推荐,仅供参考
相似回答