1.题目:输入一组互不相等的百分制成绩(个数<=100),以-1结束,按由高到低的顺序输出前10名成绩及其位置号。位置号根据输入顺序确定,第n个输入的成绩位置号为n(n为自然数)。输出格式为x号x分。注意输出不足10个时,按照实际输入个数输出。例如:输入66 88 77 -1,则输出2号88分 3号77分 1号66分
2.代码展示(复制可直接运行)
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
class Grade{
int num;
int grade;
public Grade(int num,int grade){
this.num=num;
this.grade=grade;
}
}
public class Y2019T4 {
public static void main(String[] args) {
List<Grade> list=new ArrayList<Grade>();
Scanner sc=new Scanner(System.in);
int p=1;
int n=sc.nextInt();
while(n!=-1){
list.add(new Grade(p++, n));
n=sc.nextInt();
}
for(int i=0;i<list.size();i++){
for(int j=i+1;j<list.size();j++){
if(list.get(i).grade<list.get(j).grade){
Grade tmp=list.get(j);
list.set(j, list.get(i));
list.set(i, tmp);
}
}
}
for(int i=0;i<list.size()&&i<10;i++){
System.out.print(list.get(i).num+"号"+list.get(i).grade+"分"+" ");
}
}
}