2019.4.输入一组互不相等的百分制成绩(个数<=100),以-1结束,按由高到低的顺序输出前10名成绩及其位置号。位置号根据输入顺序确定,第n个输入的成绩位置号为n(n为自然数)

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+"分"+" ");
		}
	}
	
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值