啊 十分简单,然我变成了秃头;我加注释了
2024-04-25 19:22:08
发布于:浙江
3阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
struct opo//结构体
{
string a;// 姓名
long long b,c,d;//金 银 铜
long long zong,sx;//总合变量和计数变量
}r[100020];//结构体变量
int tmp(opo a1,opo b1)//排列函数
{
if(a1.zong == b1.zong)
{
if(a1.b == b1.b)
{
if(a1.c == b1.c)
{
return a1.sx<b1.sx;//按照前后排
}
else
{
return a1.c > b1.c;
}
}
else
{
return a1.b > b1.b;
}
}
else
{
return a1.zong > b1.zong;
}//其他数量排
return 0;//加着好看 没用
}
int main()
{
long long n;//人数
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>r[i].a>>r[i].b>>r[i].c>>r[i].d;
r[i].zong=r[i].b+r[i].c+r[i].d;
r[i].sx=i;
}
sort(r+1,r+n+1,tmp);//快速排序
for(int i=1;i<=n;i++)
{
cout<<r[i].a<<" "<<r[i].zong<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个