PAT 乙级 1004.成绩排名 (20分) Java

    科技2024-12-18  12

    成绩排名

    题目链接描述输入格式输出格式输入样例输出样例代码

    题目链接

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

    描述

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

    输入格式

    每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ... 第 n+1 行:第 n 个学生的姓名 学号 成绩 其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。

    输出格式

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

    输入样例

    3 Joe Math990112 89 Mike CS991301 100 Mary EE990830 95

    输出样例

    Mike CS991301 Joe Math990112

    代码

    import java.util.*; public class Main{ public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = Integer.parseInt(input.nextLine()); int maxNum = -1; String maxName = ""; String maxId = ""; int minNum = 101; String minName = ""; String minId = ""; for (int i = 0; i < n; i++) { String[] strs = input.nextLine().split(" "); int score = Integer.parseInt(strs[2]); if (score > maxNum) { maxNum = score; maxName = strs[0]; maxId = strs[1]; } if (score < minNum) { minNum = score; minName = strs[0]; minId = strs[1]; } } System.out.println(maxName + " " + maxId); System.out.println(minName + " " + minId); input.close(); } }
    Processed: 0.041, SQL: 8