首页 > 编程语言 >1004 成绩排名(JAVA)

1004 成绩排名(JAVA)

时间:2022-10-17 21:00:42浏览次数:45  
标签:成绩排名 成绩 JAVA String int core1 姓名 1004 scanner


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

代码实现:

import java.util.Scanner;

/**
* @author yx
* @date 2022-07-12 11:02
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n=scanner.nextInt();
int core=101;
String name1=null;
String no1=null;
String name2=null;
String no2=null;
int core2=0;
for (int i = 0; i < n; i++) {
String s1=scanner.next();
String s2=scanner.next();
int core1=scanner.nextInt();
core=Math.min(core,core1);
if(core==core1){
name1=s1;
no1=s2;
}
core2=Math.max(core2,core1);
if(core2==core1){
name2=s1;
no2=s2;
}
}
System.out.println(name2+" "+no2);
System.out.println(name1+" "+no1);
}
}

Tips:

这道题目其实可以用一个构造类然后实现Comparable接口,重写CompareTo方法,用一个排序直接输出成绩最大最小的信息即可,感兴趣的小伙伴可以去试一下!

标签:成绩排名,成绩,JAVA,String,int,core1,姓名,1004,scanner
From: https://blog.51cto.com/u_15754851/5764403

相关文章

  • JavaGUI编程个人笔记
    GUI编程(了解)组件窗口弹窗面板文本框列表框按钮图片监听事件鼠标事件键盘事件破解工具简介Gui开发核心技术:SwingAWT界面不美观需要jre环境但还要学习......
  • 【Java】Java中的零拷贝
    物理内存计算机物理内存条的容量,比如我们买电脑会关注内存大小有多少G,这个容量就是计算机的物理内存。虚拟内存操作系统为每个进程分配了独立的虚拟地址空间,也就是虚拟......
  • 1010 一元多项式求导(JAVA)
    设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出......
  • 1045 快速排序(JAVA)
    著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。给定划分后的N个......
  • 1006 换个格式输出整数(JAVA)
    让我们用字母​​B​​​来表示“百”、字母​​S​​​表示“十”,用​​12...n​​​来表示不为零的个位数字​​n​​​(<10),换个格式来输出任一个不超过3位的正整......
  • 1009 说反话(JAVA)
    给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中......
  • 1008 数组元素循环右移问题(JAVA)
    一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最......
  • 1019 数字黑洞(JAVA)
    给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快......
  • 1018 锤子剪刀布(JAVA)
    大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输......
  • 1017 A除以B(JAVA)
    本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A=B×Q+R成立。输入格式:输入在一行中依次给出A和B,中间以1空格分......