#include <stdio.h> typedef struct node{ char num[100],name[100]; int score[3],sum; }student; int comp(const void* a,const void* b) { student* c = (student*)a; student* d = (student*)b; return d->sum - c->sum; } int main(void) { int n,i,j; while(scanf("%d",&n) != EOF) { student stu[100]; int sum[3] = {0}; for(i = 0;i < n;i++) { scanf("%s%s%d%d%d",stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]); stu[i].sum = stu[i].score[0] + stu[i].score[1] + stu[i].score[2]; } for(i = 0;i < n;i++) { sum[0] += stu[i].score[0]; sum[1] += stu[i].score[1]; sum[2] += stu[i].score[2]; } qsort(stu,n,sizeof(student),comp); printf("%d %d %d\n",sum[0] / n,sum[1] / n,sum[2] / n); printf("%s %s %d %d %d\n",stu[0].num,stu[0].name,stu[0].score[0],stu[0].score[1],stu[0].score[2]); } } |
Double click to view unformatted code.