正不经题解
2026-05-19 21:51:30
发布于:广东
6阅读
0回复
0点赞
直接上代码。就是简单的结构体排序(仅供参考,不许抄袭)
#include <bits/stdc++.h>
using namespace stdr;
const int maxn = 1e2 + 10;
int n;
struct player{
char name[25];
int gold , silver , bronze , sum=0, id;
}a[maxn];
bool cmp(player x , player y)
{
if(x.sum != y.sum) return x.sum > y.sum;
if(x.gold != y.gold) return x.gold > y.gold;
if(x.silver != y.silver) return x.bronze > y.bronze;
return x.id < y.id;
}
int main()
{
cin >> n;
for(int i = 1 ; i <= n ; i++)
{
cin >> a[i].name >> a[i].gold >> a[i].silver >> a[i].sum;
a[i].sum = (a[i].gold + a[i].silver + a[i].bronze);
a[i].id = i;
}
sort(a + 1 , a + n + 1 , cmp);
for(int i = 1 ; i <= n ; i++)
{
printf("%s %d\n" , a[i].name , a[i].sum);
}
return 0;
}
//已开启反抄袭
这里空空如也




有帮助,赞一个