1004成绩排名(20分)
题目
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号
输入格式
每个测试输入包含 1 个测试用例,格式为:
其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:
对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。
输入样例:
输出样例:
代码
这里我是用vector写的,代码如下:
#include"bits/stdc++.h"
using namespace std;
struct peo{
int score;
string id;
string name;
};
bool cmp(peo a, peo b)
{
return a.score > b.score;
}
int main()
{
int n;
vector<peo>v;
cin >> n;
for(int i = 0; i < n; i++)
{
string name, id;
int score;
cin >> name >> id >> score;
peo t;
t.id = id;
t.name = name;
t.score = score;
v.push_back(t);
}
sort(v.begin(), v. end(), cmp);
cout << v[0].name << " " << v[0].id << endl;
cout << v[n-1].name << " " << v[n-1].id << endl;
system("pause");
return 0;
}