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