ZSTUOJ刷题⑨:Problem H.--尖兵
Problem H: 尖兵
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4691 Solved: 2112
Description
星光人已经出发了,为了给星光人最严厉的打击,赤纳将选拔出一批优秀的战士去打击他们。现在已经知道所有入选者的AC能力,你能否将这些战士的AC能力从高到低排个序,以方便赤纳进行挑选吗?
Input
多组测试数据,先输入一个整数t表示组数,每组n+1行,第一行输入1个整数n(1 <= n <= 30)表示战士人数,之后n行每行输入姓名(不超过10个字母)及1个整数,表示AC能力
Output
每组输出n行,内容为战士的姓名,按照AC能力从高到低排序
Sample Input
1 3 Alice 12 Bob 11 Cate 15
Sample Output
Cate Alice Bob
代码如下:
#include<bits/stdc++.h> using namespace std; struct stu{ char name[11]; int ac; }; int main(){ stu pe[50],max; int t; scanf("%d",&t); while(t--){ int n;scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%s %d",pe[i].name,&pe[i].ac); } for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++){ if(pe[i].ac<pe[j].ac){ max=pe[i]; pe[i]=pe[j]; pe[j]=max; } } } for(int i=0;i<n;i++){ printf("%s\n",pe[i].name); } } return 0; }