Result: Accepted
Time: 12ms
Memory: 1092kB
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
struct student
{
char name[101];
int score1,score2,total;
};
int comp(const void*p,const void*q)
{
return ((struct student*)q)->total-((struct student*)p)->total;
}
int main()
{
struct student studentmax[101];
int T,n,i;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(i = 0; i < n; i++)
{
scanf("%s %d %d",studentmax[i].name,&studentmax[i].score1,&studentmax[i].score2);
studentmax[i].total = studentmax[i].score1 + studentmax[i].score2;
}
qsort(studentmax,n,sizeof(struct student),comp);
for(i = 0; i < n; i++)
{
printf("%s\n",studentmax[i].name);
}
}
return 0;
}