Description
星光人已经出发了,为了给星光人最严厉的打击,赤纳将选拔出一批优秀的战士去打击他们。现在已经知道所有入选者的AC能力,你能否将这些战士的AC能力从高到低排个序,以方便赤纳进行挑选吗?
Input
多组测试数据,先输入一个整数t表示组数,每组n+1行,第一行输入1个整数n(1 <= n <= 30)表示战士人数,之后n行每行输入姓名(不超过10个字母)及1个整数,表示AC能力
Output
每组输出n行,内容为战士的姓名,按照AC能力从高到低排序
#include<stdio.h>
struct man{
char name[10];
int grade;
};
int main(void)
{
int t;
int i,j,n;
struct man s1[50],max;
scanf("%d",&t);
while(t!=0)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s %d",s1[i].name,&s1[i].grade);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(s1[i].grade<s1[j].grade)
{
max=s1[i];
s1[i]=s1[j];
s1[j]=max;
}
for(i=0;i<n;i++)
printf("%s\n",s1[i].name);
t--;
}
return 0;
}