每次奥运会期间,大家都非常关注奖牌榜排名的情况。
现在我们假设奖牌榜的排名规则,按优先级从高到低如下:
1.金牌 数量多的排在前面;
2.银牌 数量多的排在前面;
3.铜牌 数量多的排在前面;
4.若以上三个条件仍无法区分名次,则以国家名称的字典序排列。
我们假设国家名称不超过20个字符、各种奖牌数不超过100,且大于等于0。
1.输入描述
第一行输入一个整数N(0<N<21),代表国家数量;
然后接下来的N行,每行包含一个字符串Namei表示每个国家的名称,和三个整数Gi、Si、Bi分别表示每个获得的金、银、铜牌的数量,以空格隔开,如(China 51 20 21)。
2.输出描述
输出奖牌榜的依次顺序,只输出国家名称,各占一行。
3.样例输入
5
China 32 28 34
England 12 34 22
France 23 33 2
Japan 12 34 25
Rusia 23 43 0
4.样例输出
China
Rusia
France
Japan
England
5.代码实现
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct country {
char name[20];
int gold;
int silver;
int bronze;
}Ctry;
// 交换array1与array2的值
void SwitchCtry(Ctry *array1, Ctry *array2)
{
Ctry temp;
if(!array1 || !array2)
{
return;
}
temp = *