Result: Accepted
Time: 13ms
Memory: 1092kB
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE 101
struct student {
char name[25];
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[ARRAY_SIZE];
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s%lf%lf",studentarray[i].name,&studentarray[i].score[1],&studentarray[i].score[2]);
studentarray[i].total=studentarray[i].score[1]+studentarray[i].score[2];
}
qsort(studentarray,n,sizeof(struct student),comp);
for(i=0;i<n;i++)
{
printf("%s\n",studentarray[i].name);
}
}
}