【谭浩强】第七章第14题
实验结果:当M=1时输出的结果
实验总结:用define定义要频繁使用的值可以节省时间;求完一门课平均成绩之后要让sum重新等于0;求最高分对应的学生和对应的课程要循环完一遍覆盖一遍r和c的值;
程序代码
#include <stdio.h>
#define M 1
#define N 5
void Input(float score[M][N])
{int i = 0;for (i = 0; i < M; i++){int j = 0;for (j = 0; j < N; j++){scanf("%f", &score[i][j]);}}
}
void ave_stu(float score[M][N])
{float sum = 0;for (int i = 0; i < M; i++){for (int j = 0; j < N; j++){sum += score[i][j];}printf("第%d个人的平均成绩%f\n",i+1, sum / N);}
}
void ave_cour(float score[M][N])
{float sum = 0;for (int i = 0; i < M; i++){int j = 0;for (j = 0; j < N; j++){sum += score[i][j];printf("%d门课的平均成绩%f\n", j + 1, sum / M);sum = 0;}}
}
void high_stu_cour(float score[M][N])
{int i = 0;int j = 0;int r = 0;int c = 0;float h = score[0][0];for (int i = 0; i < M; i++){for (int j = 0; j < N; j++){if (score[i][j] > h){h = score[i][j];r = i + 1;c = j + 1;}}}printf("最高分对应学生%d\n对应课程%d", r, c);
}
void Input(float score[M][N]);
void ave_stu(float score[M][N]);
void ave_cour(float score[M][N]);
void high_stu_cour(float score[M][N]);
int main()
{float score[M][N];printf("输入10个学生5门成绩:\n");Input(score);//输入成绩ave_stu(score);//平均成绩ave_cour(score);//每门课的平均high_stu_cour(score);//最高分return 0;
}