日志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;

}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务