Result: Accepted
Time: 4ms
Memory: 1440kB
#include<stdio.h>
#include<stdlib.h>
#define arraysize 50
struct student{
char name[1000];
double score[1000];
double total;
};
int comp(const void *p,const void *q){
return ((struct student *)q)->total-((struct student *)p)->total;
}
int main(){
struct student studentarray[arraysize];
int i,n;
int T;
scanf("%d",&T);
while(T--){
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s%lf",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);
}
}
}