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

}

全部评论

相关推荐

测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务