成绩排序

【描述】adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输入】adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

第一行为成绩排序 ,表示班里的学生数目;adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

接下来的 n行,每行为每个学生的名字和他的成绩,adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【输出】adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

【样例输入】adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28

【样例输出】adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

Joey 92
Hanmeimei 90 
Kitty 80
Tim 28

【参考程序】adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
 adY100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库

  1. #include <iostream> 
  2. #include <algorithm> 
  3. #include <string> 
  4.  
  5. using namespace std; 
  6.  
  7.  
  8. struct Student 
  9.     string name; 
  10.     int score; 
  11. }; 
  12.  
  13. // 用于比较的函数 
  14. bool cmp(Student s1, Student s2) 
  15.     if (s1.score > s2.score) 
  16.     { 
  17.         return true
  18.     } 
  19.     else if (s1.score == s2.score) 
  20.     { 
  21.         return s1.name < s2.name; 
  22.     } 
  23.     else 
  24.     { 
  25.         return false
  26.     } 
  27.  
  28. int main() 
  29.     Student arr[25]; 
  30.     int n; 
  31.     cin >> n; 
  32.     for (int i = 0;i < n;i++) 
  33.     { 
  34.         cin >> arr[i].name >> arr[i].score; 
  35.     } 
  36.     sort(arr, arr + n, cmp);//排序 
  37.     for (int i = 0;i < n;i++) 
  38.     { 
  39.         cout << arr[i].name << " " << arr[i].score << endl; 
  40.     } 
  41.     return 0; 

关 键 词

成绩排序

相关教程

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!

猜你喜欢