C语言编程有关利用二维数组存储10个学生的三门课程(语文、数学、英语)的成绩

利用二维数组存储10个学生的三门课程(语文、数学、英语)的成绩,要求:(为了方便,请考虑使用函数来分解程序功能,数组定义建议使用11行5列的数组)
(1)计算输出每个同学的总分和三门课程的平均分;
(2)计算输出每门课程的平均分;

#include <stdio.h>
double a[11][5]={0};
int i,j;
void scanfa(double b[11][5])
{
printf("请依次输入每位同学的语文、数学、英语的成绩:\n");
for(i=0;i<10;i++)
for(j=0;j<3;j++)
scanf("%lf",&b[i][j]);
}
void SumAvgStu(double b[11][5])//计算输出每个同学的总分和三门课程的平均分
{
for(i=0;i<10;i++)
for(j=0;j<3;j++)
b[i][3]+=b[i][j];
for(i=0;i<10;i++)
b[i][4]=b[i][3]/3;
for(i=0;i<10;i++)
printf("%.2lf %.2lf\n",b[i][3],b[i][4]);
}
void AvgSub(double b[10][5])//计算输出每门课程的平均分
{
for(j=0;j<3;j++)
for(i=0;i<10;i++)
b[10][j]+=b[i][j];
for(i=10,j=0;j<3;j++)
printf("%.2lf ",b[i][j]/10);
printf("\n");

}
int main()
{
scanfa(a);
SumAvgStu(a);
AvgSub(a);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-11
415413513161
相似回答