JAVA1004 成绩排名 (20分) PAT乙级 PAT (Basic Level) Practice(中文)

Posted 爱做梦的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA1004 成绩排名 (20分) PAT乙级 PAT (Basic Level) Practice(中文)相关的知识,希望对你有一定的参考价值。

前言

学得越多,不会得越多
种一颗树的最佳时间是十年前,其次就是现在

pat所有题解代码都会陆续上传到Github,请好兄弟们自行下载:https://github.com/233zzh/PAT
qq交流群:1107710098

题目:1004 成绩排名 (20分)

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

输入格式:
每个测试输入包含 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

要点:题目中说n(>0),所以n可能为1

代码

import java.util.Scanner;

/**
 * Created by IntelliJ IDEA.
 *
 * @Author: 张志浩 Zhang Zhihao
 * @Email: 3382885270@qq.com
 * @Date: 2020/11/26
 * @Time: 19:06
 * @Version: 1.0
 * @Description: Description
 */
public class Rank 
    public static void main(String[] args) 
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        if (n == 1) 
            String name = sc.next();
            String num = sc.next();
            System.out.println(name + " " + num);
            System.out.println(name + " " + num);
            return;
        
        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;
        String min_name = null;
        String max_name = null;
        String min_num = null;
        String max_num = null;
        while (n-- > 0) 
            String name = sc.next();
            String num = sc.next();
            int grade = sc.nextInt();
            if (grade < min) 
                min = grade;
                min_name = name;
                min_num = num;
             else if (grade > max) 
                max = grade;
                max_name = name;
                max_num = num;
            
        
        sc.close();
        System.out.println(max_name + " " + max_num);
        System.out.println(min_name + " " + min_num);
    


以上是关于JAVA1004 成绩排名 (20分) PAT乙级 PAT (Basic Level) Practice(中文)的主要内容,如果未能解决你的问题,请参考以下文章

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

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

PAT 乙级 水题 1004. 成绩排名 (20)

PTA 乙级 1004 成绩排名 (20分)

[PAT乙级] Practise 1004 成绩排名

PAT 乙级1004成绩排名