实验结果:当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;
}