当前位置:   article > 正文

2018蓝桥杯培训-STL应用专题-day 1 sort作业题3_stl期末考试题

stl期末考试题
题目描述:
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<iostream>
  2. #include<algorithm>
  3. using namespace std;
  4. struct Node{
  5. string name;
  6. int sum;
  7. int chi;
  8. int math;
  9. int eng;
  10. }p[100];
  11. bool cmp(Node a,Node b)
  12. {
  13. if(a.sum!=b.sum) return a.sum>b.sum;
  14. else if(a.chi!=b.chi) return a.chi>b.chi;
  15. else if(a.math!=b.math) return a.math>b.math;
  16. else return a.eng>b.eng;
  17. }
  18. int main()
  19. {
  20. int n;
  21. cin>>n;
  22. if(n>0&&n<=100)
  23. {
  24. for(int j=0;j<n;j++)
  25. {
  26. cin>>p[j].name>>p[j].sum>>p[j].chi>>p[j].math>>p[j].eng;
  27. }
  28. sort(p,p+n,cmp);
  29. for(int j=0;j<n;j++)
  30. cout<<p[j].name<<" "<<p[j].sum<<" "<<p[j].chi<<" "<<p[j].math<<" "<<p[j].eng<<endl;
  31. }
  32. return 0;
  33. }


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

闽ICP备14008679号