统计排名 题解
2023-08-19 11:48:49
发布于:上海
题解:
#include<bits/stdc++.h>
using namespace std;
struct node{
string name;
double c,m,e,sum;
int cnt;
}stu[1001];
bool cmp(node a,node b){
if(a.sum!=b.sum) return a.sum>b.sum;
if(a.c!=b.c) return a.c>b.c;
if(a.m!=b.m) return a.m>b.m;
if(a.e!=b.e) return a.e>b.e;
return a.cnt<b.cnt;
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>stu[i].name>>stu[i].c>>stu[i].m>>stu[i].e;
stu[i].sum+=(stu[i].c+stu[i].m+stu[i].e);
stu[i].cnt=i;
}
sort(stu****tu+1+n,cmp);
for(int i=1;i<=5;i++){
cout<<stu[i].name<<" "<<stu[i].sum<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个