Start: Jan, 04, 2017 19:40:00
2016年秋季学期程序设计基础期末考试
End: Jan, 04, 2017 21:40:00
Time elapsed:
Time remaining:

Problem_ID: D
Result: Accepted
Time: 12ms
Memory: 1092kB
Author: 2016210402017
In contest: 1084

#include<stdio.h>
#include<stdlib.h>
#define ARRAY_SIZE 100
struct student{
	char name[20];
	int score[2];
	int total;
};
int comp(const void *p,const void *q){
	return ((struct student *)q)->total-((struct student *)p)->total;
}
int main(void){
	int T,N,i;
	
	scanf("%d",&T);
	while(T--){
	struct student studentArray[ARRAY_SIZE];
	scanf("%d",&N);
	for(i=0;i<N;++i){
		scanf("%s%d%d",studentArray[i].name,&studentArray[i].score[0],&studentArray[i].score[1]);
		studentArray[i].total=studentArray[i].score[0]+studentArray[i].score[1];
	}
	qsort(studentArray,N,sizeof(struct student),comp);
	for(i=0;i<N;++i){
		printf("%s",studentArray[i].name);
		if(i!=N-1)
			printf("\n");
	}
	if(T-1>=0)
		printf("\n");
	}
	return 0;
}