班级排名
时间限制: - 1000ms
内存限制: - 65536kB
描述 - 信息科学技术学院年终评定讲学金,需要对整个年级的学生按照平均分数进行排名.
要求:根据输入的学号和平均成绩,按照平均成绩降序输出学号
如果平均成绩相同,按照输入的顺序输出。 输入 - 第一行为N,表示输入N位学生的信息,接着的N行输入学生信息,1<=N<=500
学生信息的格式为:学号 平均成绩
学号的长度小于10,平均成绩在1-100之间. 输出 - 按照平均成绩降序输出学号,如果平均成绩相同,按照输入顺序输出
样例输入 -
510948001 8010948004 9010948101 9510948102 8010948209 90
样例输出 -
1094810110948004109482091094800110948102
提示 - 有些排序算法可能不能保证按照输入顺序输出
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
ArrayList students=new ArrayList();
for(int i=1;i<=n;i++){
Student student=new Student(sc.next(),sc.nextInt());
students.add(student);
}
Collections.sort(students);
for(Student student:students){
System.out.println(student.getSno());
}
}
} class Student implements Comparable{
private String sno;
private int score;
public Student(String sno, int score) {
this.sno = sno;
this.score = score;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
} public int compareTo(Student s) {
return s.getScore()-this.getScore();
} }
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!