有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
输入格式:各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)
输出格式:各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)
样例输出:
85 75 65
1 blue 90 80 70
#include<stdio.h>
typedef struct Grade{
char number[100];
char name[100];
int score[5];
}grade;
int main(){
int N,sum1=0,sum2=0,sum3=0,avg1,avg2,avg3,high;
char sum[10];
scanf("%d",&N);
high=N-1;
/*初始化*/
grade person[N];
for(int i=0;i<N;i++){
scanf("%s",person[i].number);
scanf("%s",person[i].name);
/*这里的score本身就是一个整数数组,是前面的person[i]把我弄懵了*/
scanf("%d %d %d",&(person[i].score[0]),&(person[i].score[1]),&(person[i].score[2]));
sum1 += person[i].score[0];
sum2 += person[i].score[1];
sum3 += person[i].score[2];
sum[i] = person[i].score[0]+person[i].score[1]+person[i].score[2];
}
avg1 = sum1/N;
avg2 = sum2/N;
avg3 = sum3/N;
printf("%d %d %d\n",avg1,avg2,avg3);
for(int i=0;i<N;i++){
if(sum[i]>sum[high]) high =i;
}
printf("%s %s ",person[high].number,person[high].name);
printf("%d %d %d",person[high].score[0],person[high].score[1],person[high].score[2]);
return 0;
}