提交时间:2023-12-25 13:44:56

运行 ID: 35031

#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; }