Result: Accepted
Time: 3ms
Memory: 1120kB
#include<stdio.h>
#include<stdlib.h>
#define ARRAY_SIZE 50
struct student{
char name[21];
int score[1];
int total;
};
int comp(const void * p,const void * q)
{
return ((struct student *)q)->total-((struct student *)p)->total;
}
int main(void)
{
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 %d",studentArray[i].name,&studentArray[i].score[0]);
studentArray[i].total=studentArray[i].score[0];
}
qsort(studentArray,n,sizeof(struct student),comp);
for(i=0;i<n;++i)
{
printf("%s\n",studentArray[i].name);
}
}
return 0;
}