加油肝题解吧!!!
2026-10-06 10:19:55
发布于:河北
2阅读
0回复
0点赞
简单的结构体排序~
幼儿园小孩都会

#include<bits/stdc++.h>
using namespace std;
struct W{
string name;
int ac,b,c,sum,id;
}a[100010];
bool cmp(W x,W y){
if(x.sum != y.sum){
return x.sum > y.sum;
}
if(x.ac != y.ac){
return x.ac > y.ac;
}
if(x.b != y.b){
return x.b > y.b;
}
return x.id < y.id;
}
int main(){
int n;
cin>>n;
for(int i = 1;i <= n;i++){
cin>>a[i].name>>a[i].ac>>a[i].b>>a[i].c;
a[i].sum = a[i].ac + a[i].b + a[i].c;
a[i].id = i;
}
sort(a + 1,a + n + 1,cmp);
for(int i = 1;i <= n;i++){
cout<<a[i].name<<" "<<a[i].sum<<endl;
}
return 0;
}
这里空空如也




有帮助,赞一个