日志19
输入n个学生的姓名和三科(编程,数学,英语)的成绩,按照三科的总分从高到低排序输出姓名和总分,如果总分相同,姓名按照字典序排序输出。
#include<bits/stdc++.h>
usingnamespacestd;
structstudent{
string name;
inta,b,c;
intsum;
};
intmain(){
intn;
cin>>n;
vector<student>s(n);
for(inti=0;i<n;i++){
cin>>s[i].name>>s[i].a>>s[i].b>>s[i].c;
s[i].sum=s[i].a+s[i].b+s[i].c;
}
sort(s.begin(),s.end(),[](conststudent&x,conststudent&y){
if(x.sum==y.sum){
returnx.name<y.name;
}
else{
returnx.sum>y.sum;
}
});
for(inti=0;i<n;i++){
cout<<s[i].name<<' '<<s[i].sum<<endl;
}
return0;
}