当前位置:   article > 正文

1923: 2018蓝桥杯培训-STL应用专题-day 1 sort作业题3_2018蓝桥杯培训-stl应用专题 sort作业题1

2018蓝桥杯培训-stl应用专题 sort作业题1

1923: 2018蓝桥杯培训-STL应用专题-day 1 sort作业题3

描述
题目描述:

STL库中有许多非常实用的函数,如sort,set,map,vector,queue等。   此题为sort的应用教学,题目如下:   读入n条学生成绩记录,包括学生姓名,总成绩,语文,数学和英语成绩,要求按总成绩从高到低输出n条记录,每条记录占一行。总成绩相同时按语文成绩从高到低输出,语文成绩相同时按数学成绩从高到低输出。(没有两个人的成绩完全一样)

输入:

第一行读入一个 n ( 0<n<=100)  接下来n行每行读入学生姓名,总成绩,语文,数学和英语成绩,中间以空格隔开

输出:

n行按要求排序好的记录。

样例输入
3
Lsx 270 90 90 90
Ywz 275 92 93 90
Wjx 255 85 85 85
样例输出
Ywz 275 92 93 90
Lsx 270 90 90 90
Wjx 255 85 85 85


  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. struct Node
  4. {
  5. string name;
  6. int scoreAll;
  7. int score_yu;
  8. int score_shu;
  9. int score_ying;
  10. }p[101];
  11. bool MAX_MIN(Node p_begin,Node p_end)
  12. {
  13. if(p_begin.scoreAll!=p_end.scoreAll)
  14. return p_begin.scoreAll>p_end.scoreAll;
  15. else if(p_begin.score_yu!=p_end.score_yu)
  16. return p_begin.score_yu>p_end.score_yu;
  17. else if(p_begin.score_shu!=p_end.score_shu)
  18. return p_begin.score_shu>p_end.score_shu;
  19. }
  20. int main()
  21. {
  22. int n;
  23. cin>>n;
  24. for(int i = 0;i < n;i++)
  25. {
  26. cin>>p[i].name>>p[i].scoreAll>>p[i].score_yu>>p[i].score_shu>>p[i].score_ying;
  27. }
  28. sort(p,p+n,MAX_MIN);
  29. for(int i = 0;i < n;i++)
  30. {
  31. cout<<p[i].name<<" "<<p[i].scoreAll<<" "<<p[i].score_yu
  32. <<" "<<p[i].score_shu<<" "<<p[i].score_ying<<endl;
  33. }
  34. return 0;
  35. }




声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/415855
推荐阅读
相关标签
  

闽ICP备14008679号