题目:输入10个学生6门课的成绩,编写程序统计并输出每个平均分, 每门课程的平均分,找出所有60个分数中最高的分数所对应的学生和课程。
要求分别用函数实现下列功能:
1)输入所有学生的每门课成绩
2)计算并输出每个学生的平均分
3)计算并输出每门课程的平均分
4)输出所有60个分数中最高分及其所对应的学生和课程。
#include<stdio.h>
void input(int a[10][6], int n);
float avg1(int a[10][6], int n);
float avg2(int a[10][6], int n);
void max(int a[10][6]);
int main()
{
int a[10][6];
int i;
for (i = 0; i < 10; i++)
{
printf("请输入第%d个学生的6门成绩:", i + 1);
input(a, i);
}
for (i = 0; i < 10; i++)
{
printf("第%d个学生的平均分为%f\n", i + 1, avg1(a, i));
}
for (i = 0; i < 6; i++)
{
printf("第%d门课的平均分为%f\n", i + 1, avg2(a, i));
}
max(a);
return 0;
}
void input(int a[10][6], int n)
{
int i;
for (i = 0; i < 6; i++)
{
scanf("%d", &a[n][i]);
}
}
float avg1(int a[10][6], int n)
{
int i, sum = 0;
for (i = 0; i < 6; i++)
{
sum = sum + a[n][i];
}
return sum * 1.0 / 6;
}
float avg2(int a[10][6], int n)
{
int i, sum = 0;
for (i = 0; i < 10; i++)
{
sum = sum + a[i][n];
}
return sum * 1.0 / 10;
}
void max(int a[10][6])
{
int i, j, m, n;
int max = a[0][0];
for (i = 0; i < 10; i++)
{
for (j = 0; j < 3; j++)
{
if (max < a[i][j])
{
max = a[i][j];
m = i;
n = j;
}
}
}
printf("60个分数中最高分为%d,为第%d个学生的第%d门课\n", max, m + 1, n + 1);
}