现给出n位学生的姓名和每场比赛的成绩,请你按总分由高到低的顺序输出每位同学的姓名,如果总分相同则按姓名的音序排列,音序在前的先输出。 样例输入:4100 59 99 80 ​​​​​​​样例输出:59

现给出n位学生的姓名和每场比赛的成绩,请你按总分由高到低的顺序输出每位同学的姓名,如果总分相同则按姓名的音序排列,音序在前的先输出。WBN100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例输入:4100 59 99 80WBN100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例输出:59 80 99 100
  1. #include <bits/stdc++.h> 
  2. using namespace std; 
  3. struct stud 
  4.     string name; 
  5.     int x, y, z; 
  6.     int sum; 
  7. }; 
  8. bool cmp(stud a, stud b) 
  9.     if(a.sum == b.sum) 
  10.         return a.name < b.name; 
  11.     else 
  12.         return a.sum > b.sum; 
  13. int main() 
  14.     int i, n; 
  15.     struct stud st[60]; 
  16.     cin >> n; 
  17.     for(i = 1; i <= n; i++) // 数组下标从1 开始 
  18.     { 
  19.         cin >> st[i].name >> st[i].x >> st[i].y >> st[i].z; 
  20.         st[i].sum = st[i].x + st[i].y + st[i].z; 
  21.     } 
  22.     sort(st + 1, st + n + 1, cmp); 
  23.     for(i = 1; i <= n; i++) 
  24.         cout << st[i].name << endl; 
  25.     return 0; 

关 键 词

“童心向党绘百年”绘画比赛

相关教程

提示声明

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

猜你喜欢