PAT 1004 成绩排名 (20 分)(Java实现)

以你之姓@ 2021-10-01 08:02 522阅读 0赞

题目描述:

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

输入格式:

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

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

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

输出格式:

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

输入样例:

  1. 3
  2. Joe Math990112 89
  3. Mike CS991301 100
  4. Mary EE990830 95

输出样例:

  1. Mike CS991301
  2. Joe Math990112

实现代码(Java):

  1. import java.util.Scanner;
  2. public class Main {
  3. private static class student{
  4. String name;
  5. String id;
  6. int score;
  7. }
  8. public static void main (String[] args){
  9. Scanner sc = new Scanner(System.in);
  10. int n = sc.nextInt();
  11. int maxScore = -1;
  12. int maxId = 0;
  13. int minScore = 101;
  14. int minId = 0;
  15. student[] s = new student[n];
  16. for(int i=0;i<n;i++) {
  17. s[i]=new student();
  18. s[i].name=sc.next();
  19. s[i].id=sc.next();
  20. s[i].score=sc.nextInt();
  21. if(s[i].score>maxScore) {
  22. maxScore=s[i].score;
  23. maxId=i;
  24. }
  25. if(s[i].score<minScore){
  26. minScore=s[i].score;
  27. minId=i;
  28. }
  29. }
  30. System.out.println(s[maxId].name+" "+s[maxId].id);
  31. System.out.println(s[minId].name+" "+s[minId].id);
  32. }
  33. }

发表评论

表情:
评论列表 (有 0 条评论,522人围观)

还没有评论,来说两句吧...

相关阅读

    相关 1004 成绩排名 (20 )

    读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n

    相关 1004. 成绩排名 (20)

    读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第

    相关 JAVA-1004. 成绩排名 (20)

    > 读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 > > 输入格式:每个测试输入包含1个测试用例,格式为 > > 第1行:正整数n 第2行: