题目:https://www.nowcoder.com/pat/1/problem/4313
题意:
给出N个学生成绩,按成绩从大到小排序,输出在闭合区间内学生信息。
分析:
简单,一遍过,博主只是无事想写代码而已,请略过刷基础题的梗
样例
输入例子:
4
Tom CS000001 59
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
60 100
输出例子:
Mike CS991301
Mary EE990830
Joe Math990112
代码:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
struct node
{
string name;
string id;
int score;
};
vector<node> nodes;
bool cmp(node a,node b)
{
return a.score > b.score;
}
int main()
{
int n;
cin >> n;
node no;
int grade1,grade2;
int flag = 0;
for(int i=0;i<n;i++)
{
cin >> no.name >> no.id >> no.score;
nodes.push_back(no);
}
cin >> grade1 >> grade2;
sort(nodes.begin(),nodes.end(),cmp);
for(unsigned int i=0;i<nodes.size();i++)
{
if(nodes[i].score>=grade1&&nodes[i].score<=grade2)
{
cout << nodes[i].name << " " << nodes[i].id << endl;
flag = 1;
}
}
if(flag==0)
{
cout << "NONE" << endl;
}
return 0;
}