• 结构体数组排序:1004 成绩排名 【pta】


    结构体模板

    1 struct STU
    2 {
    3     string name;    //用string可以代替char
    4     string num;
    5     int s;
    6 };

    sort是用快速排序实现的,属于不稳定排序,stable_sort是用归并排序实现的,因此是稳定的。从此以后,为了保险起见我打算使用stable_sort。

    不管是sort还是stable_sort默认都是升序,有些情况要求降序等更加复杂的情况,利用默认的升序就会变得比较麻烦(其实都是一样的)

    因此为了方便,可以自定义一个bool类型的cmp函数

    1 bool cmp(int a,int b)
    2 {
    3       return a>b;
    4 }

    以上是普通的cmp(非数组cmp)

    面对结构体数组降序排序,可以像以下一样:

    bool cmp(STU a,STU b)
    {
        return a.s>b.s;
    }

    1004 成绩排名 (20分)

    读入 n(>)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

    输入格式:

    每个测试输入包含 1 个测试用例,格式为

    1 行:正整数 n
    第 2 行:第 1 个学生的姓名 学号 成绩
    第 3 行:第 2 个学生的姓名 学号 成绩
      ... ... ...
    第 n+1 行:第 n 个学生的姓名 学号 成绩
    
     

    其中姓名学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。

    输出格式:

    对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。

    输入样例:

    3
    Joe Math990112 89
    Mike CS991301 100
    Mary EE990830 95
    
     

    输出样例:

    Mike CS991301
    Joe Math990112
    
     
    作者: CHEN, Yue
    单位: 浙江大学
    时间限制: 400 ms
    内存限制: 64 MB
    代码长度限制: 16 KB

     完整代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 struct STU
     4 {
     5     string name;   //学生姓名
     6     string num;    //学生学号
     7     int score;     //学生成绩
     8 };
     9 bool cmp(STU a,STU b)
    10 {
    11     return a.score>b.score;
    12 }
    13 int main()
    14 {
    15     int n,i;
    16     scanf("%d",&n);
    17     struct STU stu[n];
    18     for(i=0;i<n;i++)
    19     {
    20         cin>>stu[i].name>>stu[i].num>>stu[i].score;
    21     }
    22     stable_sort(stu,stu+n,cmp);
    23     cout<<stu[0].name<<" "<<stu[0].num<<endl;
    24     cout<<stu[n-1].name<<" "<<stu[n-1].num<<endl;
    25 }
  • 相关阅读:
    第05组 Alpha冲刺(4/4)
    第05组 Alpha冲刺(3/4)
    第05组 Alpha冲刺(2/4)
    团队作业——总结
    beta版本发布-团队
    团队作业-Beta冲刺(周五)
    团队作业-Beta冲刺(周四)
    团队作业-Beta冲刺(周三)
    个人作业——Alpha项目测试
    团队项目第四次作业
  • 原文地址:https://www.cnblogs.com/jackwang-sparrow/p/12297344.html
Copyright © 2020-2023  润新知