E:分级教学
输入文件E.in输出文件: estdout.pc2)
某高校招生工作已经结束,为了能够对学生的“大学计算机基础”课程进行分级教学,
要求将新生((5000人)划分为两个层次进行授课,划分层次的方法非常简单,按照学生入学
成绩分数从高到低进行平均划分,请你设计程序挑选出入学成績位于中间的那个新生。
输入数据:
输入可以有多组数据,每组的第行输入新生人数n值: 接下来的n行依次输入新生姓
名和入学成绩。
输出数据:
对应每组输入数据输出一行数据,显示出入学成绩位于中间的新生姓名和成绩,中间用空格分开。
样例输入:
7
张胜利 657
王琳 598
李力军 623
曹阳 599
王洋 578
刘立 592
炅军 546
样例输出:
王琳598.00
Java代码
public class Main {
public static void main(String[] args) {
int n;
Scanner input = new Scanner(System.in);
n = Integer.parseInt(input.next());
person[] arr = new person[n];
for(int i = 0; i < n; i++) {
arr[i] = new person(input.next(), Integer.parseInt(input.next()));
}
Arrays.sort(arr, (o1,o2)->{return o1.socre - o2.socre;});
// new Comparator<person>() {
//
// @Override
// public int compare(person o1, person o2) {
//
// return o1.socre - o2.socre ;
// }
// }
System.out.println(arr[n/2]);
// for(int i = 0; i < n; i++) {
// System.out.println(arr[i]);
// }
}
}
class person{
public String name;
public int socre;
public person(String name, int socre) {
this.name = name;
this.socre = socre;
}
@Override
public String toString() {
return name+socre;
}
}