您的位置:首页 > 其它

EOJ(排序)——2849. 成绩排序

2019-01-10 21:41 615 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29978597/article/details/86257753

2849. 成绩排序

有 n(1⩽n⩽100)个学生的成绩记录,其中包含学号和成绩两项。
按照成绩从高到低顺序输出成绩及格(⩾60)学生的学号和成绩。成绩相同时按照学号从小到大顺序输出。

输入

第 1 行:输入一个整数 n,表示学生记录数。
第 2 行 ~ n+1 行:每行是学号(11 位数字)及成绩(0 到 100 之间的整数)。学号和成绩之间有一个空格。

输出

按要求输出结果,每行输出一个空格分隔的学号及成绩。
样例

input

5
10002130201 90
10002130230 80
10002130231 85
10002130148 48
10002130167 90

output

10002130167 90
10002130201 90
10002130231 85
10002130230 80

题目大意:

成绩按要求排序。

题目解析:

sort函数。

具体代码:

#include<iostream>
#include<algorithm>
using namespace std;
struct node{
long long id;
int score;
}s[110];
bool cmp(node x,node y){
if(x.score!=y.score)
return x.score>y.score;
return x.id<y.id;
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>s[i].id>>s[i].score;
}
sort(s,s+n,cmp);
for(int i=0;i<n;i++)
if(s[i].score>=60)
cout<<s[i].id<<" "<<s[i].score<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: