Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
35031 | huyanfeng | 成绩排序 | C++ | 通过 | 1 MS | 244 KB | 717 | 2023-12-25 13:44:56 |
#include<bits/stdc++.h> using namespace std; int n, grade[20]; string name[20];//string类型的数组,name里面放了20个string类型的变量 int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) { cin >> name[i] >> grade[i]; } for (int i = 1; i < n; i++) {//冒泡排序 for (int j = 1; j < n; j++) { if(grade[j] < grade[j + 1]) { swap(grade[j], grade[j + 1]); swap(name[j], name[j + 1]); } if(grade[j] == grade[j + 1]) {//如果分数相同 if(name[j] > name[j + 1]) {//名字字典序小的靠前 swap(name[j], name[j + 1]); } } } } for (int i = 1; i <= n; i++) { cout << name[i] << " " << grade[i]<< endl; } return 0; }