• PAT 1004 成绩排名


    https://pintia.cn/problem-sets/994805260223102976/problems/994805321640296448

    读入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

    代码:
    #include <bits/stdc++.h>
    
    using namespace std;
    
    const int maxn=1e5+10;
    struct Student {
        char name[20];
        char num[20];
        int score;
    }s[maxn];
    
    bool cmpScore(const Student& a,const Student& b)
    {
        return a.score<b.score;
    }
    
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%s%s%d",s[i].name,s[i].num,&s[i].score);
        }
        int L=1,R=n;
        sort(s+L,s+R+1,cmpScore);
        printf("%s %s
    ",s[n].name,s[n].num);
        printf("%s %s
    ",s[1].name,s[1].num);
        return 0;
    }
    

      

  • 相关阅读:
    第二章 java内存区域与内存溢出异常
    TCP实现可靠传输
    Tomcat的类加载架构
    浅析Synchronized
    设计数据库
    http和https
    IOC容器的依赖注入
    IOC容器初始化
    深入理解Java内存模型
    单例应该这么写
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/9249687.html
Copyright © 2020-2023  润新知