解题思路:
注意事项:
参考代码:
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct Stu
{
int m; //数学
int c; //语文
int e; //英语
int sum; //总分
int id; //学号
}a[310];
bool cmp(Stu a,Stu b) //排序规则
{
if(a.sum!=b.sum) //总分不同时
return a.sum>b.sum;
else if(a.c!=b.c) //总分相同,语文成绩不同时
return a.c>b.c;
else //总分相同,语文成绩相同,学号不同时
return a.id<b.id;
}
int n;
int main()
{
cin >> n;
for(int i=1;i<=n;i++)
{
cin >> a[i].c >> a[i].m >> a[i].e;
a[i].sum=a[i].c+a[i].e+a[i].m; //总分
a[i].id=i; //学号
}
sort(a+1,a+n+1,cmp); //排序
for(int i=1;i<=5;i++)
{
cout << a[i].id << " " << a[i].sum << endl;
}
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复