代码如下:
//已知M个学生的N门课程的成绩,分别计算每位学生的平均成绩和每门课程的平均成绩并输出
#include<stdio.h>
#define M 5
#define N 4
int main(void)
{
int i,j;
float score[M][N]={{78,85,83,65},{88,91,89,93},{72,65,54,75},{86,88,75,60},{69,60,50,72}};
float stu_ave[M]={0};
float cla_ave[N]={0};
//外层循环,逐一计算每位学生的平均成绩
for(i=0;i<M;i++)
{
//内层循环,逐一计算每位学生每门课程的总成绩
for(j=0;j<N;j++)
{
stu_ave[i]+=score[i][j]; //计算第i个学生N门课程的总成绩
cla_ave[j]+=score[i][j]; //计算第j门课的总成绩
}
stu_ave[i]/=N; //计算第i个学生的平均成绩
}
for(j=0;j<N;j++) cla_ave[j]/=M; //计算第j门课的平均成绩
printf("学生编号 课程1 课程2 课程3 课程4 个人平均成绩\n");
//输出每个学生的各科成绩和平均成绩
for(i=0;i<M;i++)
{
printf("Student%d\t",i+1);
for(j=0;j<N;j++) printf("%.1f ",score[i][j]);
printf("%0.1f \n",stu_ave[i]);
}
//输出每门课程的平均成绩
printf("\n课程平均 ");
for(j=0;j<N;j++) printf("%.1f ",cla_ave[j]);
printf("\n");
return 0;
}
结果如下: