【二维数组问题】输出四位学生的成绩和平均成绩,并且输出三门课程的成绩以及平均成绩
物理 化学 生物 平均分张三 92 90 95 0
李四 68 75 96 0
王五 78 88 89 0
曾六 45 61 79 0
代码如下:
能够实现,但总觉得太啰嗦了,请各位大侠帮忙看看是否有更简洁的实现方法,谢谢。
#define STUDENT_NUM 4
#define COURSE_NUM 3
int main()
{
float grad[STUDENT_NUM+1][COURSE_NUM+1]={{92,90,95,0},{68,75,96,0},{78,88,89,0},{45,61,79,0},{0,0,0}};
int i,j;
float sum=0,average=0;
for(i=0;i<STUDENT_NUM;i++)// 求每个同学三门课的平均成绩
{
sum=0;
for(j=0;j<COURSE_NUM;j++)
{
sum+=grad[i][j];
}
grad[i][j]=sum/COURSE_NUM;
printf("学生%d的平均成绩为%.1f\n",i+1,grad[i][j]);
}
for(j=0;j<COURSE_NUM;j++)// 求每门课的平均成绩
{
sum=0;
for(i=0;i<STUDENT_NUM;i++)
{
sum+=grad[i][j];
}
grad[i][j]=sum/STUDENT_NUM;
printf("课程%d的平均成绩为%.1f\n",j+1,grad[i][j]);
}
for(i=0;i<STUDENT_NUM+1;i++)
{
for(j=0;j<COURSE_NUM+1;j++)
{
printf("%6.1f",grad[i][j]);
}
printf("\n");
}
return 0;
}