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