Result: Accepted
Time: 13ms
Memory: 1092kB
#include <stdio.h>
#include <stdlib.h>
struct student{
char name[30];
double score[2];
double total;
};
int comp(const void *p,const void *q){
return ((struct student *)q)->total-((struct student *)p)->total;
}
int main(){
int T;
scanf("%d",&T);
while(T--){
struct student studentArray[100];
int i,n;
scanf("%d",&n);
for (i=0;i<n;i++){
scanf("%s%lf%lf",studentArray[i].name,&studentArray[i].score[0],&studentArray[i].score[1]);
studentArray[i].total=studentArray[i].score[0]+studentArray[i].score[1];
}
qsort(studentArray,n,sizeof(struct student),comp);
for (i=0;i<n;i++){
printf("%s\n",studentArray[i].name);
}
}
return 0;
}