#include<stdio.h> struct student{ char xuehao[10]; char name[20]; int score[3]; // int k2; // int k3; }; int main(){ int n; scanf("%d",&n); struct student stu[n]; int i=0; int j=0; int sum[100]={0}; int sum1[100]={0}; int ave[100]={0}; int level=0; for(i=0;i<n;i++){ scanf("%s %s %d %d %d",&stu[i].xuehao,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]); } for(i=0;i<3;i++){//代表三门科目 for(int j=0;j<n;j++){ sum[i]+=stu[j].score[i]; } ave[i]=sum[i]/n; } for(int i=0;i<3;i++){//输出三门课的平均成绩 printf("%d ",ave[i]); } // printf("%d",ave[2]); printf("\n"); // scanf("%s %s %d %d %d",&s.xuehao,&s.name,&s.k1,&s.k2,&s.k3); //printf("%s",s.name); //要知道哪个学生的平均成绩最高 只需要算总分即可 总分最高,平均分就最高 for(int i=0;i<n;i++){ //n 代表学生 for(int j=0;j<3;j++){ sum1[i]+=stu[i].score[j];//这里得到每个学生的总分 } } // for(int i=0;i<n;i++){ // // printf("%d",sum1[i]);//这里可以打印出每个学生的总分 // } //现在要找出分数最高的人 int max=sum[0]; for(int i=0;i<n;i++){ if(sum1[i]>max){ max=sum[i]; } int level=i; } //printf("%d",level); printf("%s %s %d %d %d\n",stu[level].xuehao,stu[level].name,stu[level].score[0],stu[level].score[1],stu[level].score[2]); return 0; } |
Double click to view unformatted code.