题目
读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
输入
每个测试输入包含1个测试用例,格式为
第1行:正整数n
第2行:第1个学生的姓名 学号 成绩
第3行:第2个学生的姓名 学号 成绩
… … …
第n+1行:第n个学生的姓名 学号 成绩
输出
对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低学生的姓名和学号,字符串间有1空格。
输入样例
3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
输出样例
Mike CS991301
Joe Math990112
源代码
import java.util.Scanner;
public class Main{
static class student
{
String name;
String id;
int grade;
student(String name,String id,int grade)
{
this.name = name;
this.id = id;
this.grade = grade;
}
student()
{
this.name = null;
this.id = null;
this.grade = 0;
}
}
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int n = in.nextInt();
in.nextLine();
student[] s = new student[n];
int[] sg = new int[n];
for(int i=0;i<n;i++)
{
s[i] = new student();
s[i].name = in.next();
s[i].id = in.next();
s[i].grade = in.nextInt();
sg[i] = s[i].grade;
in.nextLine();
}
int max_index = 0;
int min_index = 0;
int max = sg[0];
int min = sg[0];
for(int i=0;i<n;i++)
{
if(sg[i] > max)
{
max = sg[i];
max_index = i;
}
if(sg[i] < min)
{
min = sg[i];
min_index = i;
}
}
System.out.println(s[max_index].name + " " + s[max_index].id);
System.out.print(s[min_index].name + " " + s[min_index].id);
}
}
注意事项
对象数组的使用