Result: Accepted
Time: 13ms
Memory: 1092kB
#include<stdio.h>
#include<stdlib.h>
int comp(const void *p,const void *q){
return (*(int *)q-*(int *)p);}
struct student{
char name[30];
int lilun,shijian,zongchengji;;//理论成绩和实践成绩
};
int main(){
int t;
int n;
int i;
int temp[100];
int q;//循环变量2
struct student studentarray[100];
scanf("%d",&t);
while(t-1>=0){
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s %d %d",&studentarray[i].name,&studentarray[i].lilun,&studentarray[i].shijian);
studentarray[i].zongchengji=studentarray[i].lilun+studentarray[i].shijian;
}
for(i=0;i<100;i++){
temp[i]=-1;
}
for(i=0;i<n;i++){
temp[i]=studentarray[i].zongchengji;
}
qsort(temp,100,sizeof(int),comp);
for(i=0;i<n;i++){
for(q=0;q<n;q++){
if(temp[i]==studentarray[q].zongchengji)
printf("%s\n",studentarray[q].name);
}
}
t--;
}
}