题目要求:有50名学生,每个学生的数据包括学号,姓名,3门课的成绩,从键盘输入50名学生数据,要求打印出每门课的平均成绩,以及三门课总分最高的学生数据(包括学号,姓名,3门课的成绩,3门课的总分)。
#include<stdio.h>
typedef struct{
int id;
char name[10];
int score1;
int score2;
int score3;
int total;
}student;
int main(){
student stu[100];
student temp;
int n;
scanf("%d",&n);
int max=-1,k=-1;
for(int i=0;i<n;i++){
scanf("%d%s%d%d%d",&stu[i].id,&stu[i].name,&stu[i].score1,
&stu[i].score2,&stu[i].score3);
stu[i].total=stu[i].score1+stu[i].score2+stu[i].score3;
if(stu[i].total>max){
max=stu[i].total;
k=i;
}
}
printf("the best student:\n");
printf("%d %s %d %d %d %d\n",stu[k].id,stu[k].name,stu[k].score1,
stu[k].score2,stu[k].score3,stu[k].total);
float avg1=0,avg2=0,avg3=0;
for(int i=0;i<n;i++){
avg1=avg1+stu[i].score1;
avg2=avg2+stu[i].score2;
avg3=avg3+stu[i].score3;
}
avg1=avg1/3;
avg2=avg2/3;
avg3=avg3/3;
printf("请输出平均成绩:\n");
printf("%.2f %.2f %.2f\n",avg1,avg2,avg3);
return 0;
}