ZSTUOJ刷题⑨:Problem H.--尖兵

Problem H: 尖兵

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 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;
} 

 

posted @ 2021-05-22 15:13  Ta7KiXuoul  阅读(145)  评论(0编辑  收藏  举报