题目描述
Description
数据很多,但我们经常只取前几名,比如奥运只取前3名。现在我们有n个数据,请按从大到小的顺序,输出前10个名数据。
Input
两行。
第一行一个整数n,表示要对多少个数据
第二行有n个整数,中间用空格分隔。表示n个数据。
Output
一行,按从大到小排列的前10个数据,每个数据之间用一个空格隔开。
Sample Input 1
26
54 27 87 16 63 40 40 22 61 6 57 70 0 42 11 50 13 5 56 7 8 86 56 91 68 59
Sample Output 1
91 87 86 70 68 63 61 59 57 56
Hint
HINT:时间限制:1.0s 内存限制:256.0MB
10<=n<=200,各个整数不超出整型范围
题目分析
一个升序排序,C++、Java、python都有对应排序函数sort
代码
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt(); // 和下面输入格式一致
int[] all = new int[n]; // 分类:nextLine和其他
for (int i = 0; i < n; i++) {
all[i] = input.nextInt();
}
Arrays.sort(all);
int flag = 0;
for (int i = n-1; flag < 9 ; i--) {
flag++;
System.out.print(all[i] + " ");
}
System.out.print(all[n-10]);
}
}