[问题描述]
输入10个学生5门课的成绩,分别用函数求:
①每个学生平均分:
②每门课的平均分;
③找出最高的分数所对应的学生和课程。
部份程序代码如下:
#include<stdio.h>
int main()
{
int a[10][5],i,j,k1,k2;
for(i=0;i<10;i++)
for(j=0;j<5;j++)scanf("%d",&a[i][j]);
for(i=0;i<10;i++)printf("%6.2f",myavga(i,a[0]));
printf("\n");
for(j=0;j<5;j++)printf("%6.2f",myavgb(j,a[0]));
printf("\n");
mymax(a[0],&k1,&k2);
printf("%d %d",k1,k2);
}
#include <math.h>
#include <stdio.h>
int main() {
void average_1(int score[10][5]);
void average_2(int score[10][5]);
void intput(int score[10][5]);
void max(int score[10][5]);
int sc[10][5];
intput(sc);
average_1(sc);
printf("\n");
average_2(sc);
printf("\n");
max(sc);
printf("\n");
return 0;
}
void intput(int score[10][5]) {
int i, j;
for (i = 1; i <= 10; i++) {
printf("请输入第%d个学生的成绩:\n", i);
for (j = 1; j <= 5; j++) {
printf("成绩%d:", j);
scanf("%d", &score[10][5]);
}
printf("\n");
}
}
void average_1(int score[10][5]) {
int i, j;
double sum = 0;
for (i = 1; i <= 10; i++) {
for (j = 1; j <= 5; j++)
sum = sum + score[i][j];
printf("第%d个学生的成绩是:%f", i, sum / 5);
}
}
void average_2(int score[10][5]) {
int i, j;
double sum = 0;
for (j = 1; j <= 5; j++) {
for (i = 1; i <= 10; i++)
sum = sum + score[i][j];
printf("第%d门课的平均成绩是:%f\n", j, sum / 10);
}
}
void max(int score[10][5]) {
int i, j;
int max = 0, cour = 1, stu = 1;
for (i = 1; i <= 10; i++)
for (j = 1; j <= 5; j++) {
if (max < score[i][j]) {
max = score[i][j];
stu++;
cour++;
}
}
printf("第%d个学生的第%d门课获得了最高分", stu, cour, max);
}