AT1198_100 @ 2020-06-30 13:38:27
这不就是结构体吗
#include<bits/stdc++.h>
using namespace std;
int n;
struct xue{
string name;
int chi;
int eng;
int mat;
int xu;
}a[1000];
bool cmp(xue x,xue y){
if(x.chi+x.mat+x.eng==y.chi+x.mat+x.eng){
return x.xu<y.xu;
}
return x.chi+x.mat+x.eng>y.chi+x.mat+x.eng;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].name>>a[i].chi>>a[i].mat>>a[i].eng;
a[i].xu=i;
}
sort(a+1,a+n+1,cmp);
cout<<a[1].name<<" "<<a[1].chi<<" "<<a[1].mat<<" "<<a[1].eng<<endl;
return 0;
}
然而我用了结构体也只有60分.
深附哲学组织是我们机房的小porn友
by monstersqwq @ 2020-06-30 13:40:25
讨论区题解,危,nhml
by AT1198_100 @ 2020-06-30 13:40:46
@monsters谔谔 60分啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
by monstersqwq @ 2020-06-30 13:41:06
所以你想干啥
by AT1198_100 @ 2020-06-30 13:41:47
@monsters谔谔 寻求dalao的帮助
by Her_Lingxiao @ 2020-06-30 13:42:51
@深附哲学组织
by 一只书虫仔 @ 2020-06-30 13:43:06
干嘛要特判
bool cmp (student x, student y) {
return x.Chinese + x.Math + x.English > y.Chinese + y.Math + y.English;
}
不就好了
by 一只书虫仔 @ 2020-06-30 13:43:45
没有顺序的事,不用管顺序
by 一只书虫仔 @ 2020-06-30 13:44:02
把变量xu去掉吧,sort 不用这个
by AT1198_100 @ 2020-06-30 13:44:13
@一只书虫仔 不是题目里面要对成绩相同的情况进行特判吗
by 一只书虫仔 @ 2020-06-30 13:45:22
@winterzxy 你多虑了,sort 自动给你排了