PTA程序设计平台 1004 成绩排名
耗时:3 h
感想:初学冒泡排序,此题也可以用#include< algorithm >里的sort函数排序,更方便快捷。
代码如下:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
struct ID {
string name;
string id;
int grade=0;
};
void enter(ID &a) {
cin >> a.name >> a.id >> a.grade;
}
int main()
{
int n = 0;
cin >> n;
vector<ID> list(n);
for (int i = 0; i < n; i++) {
ID id1;
enter(id1);
list[i] = id1;
}
bool b = true;
for (int i = 0; i < n && b; i++)
{
b = false;
for (int j = n - 1; j > i; j--)
{
if (list[j].grade < list[j - 1].grade)
{
ID m = list[j];
list[j] = list[j - 1];
list[j - 1] = m;
b = true;
}
}
}
cout << list[n-1].name << " " << list[n-1].id<<endl;
cout << list[0].name << " " << list[0].id<<endl;
return 0;
}
运行耗时:4ms