201903-1 小中大 Java

思路:
中位数就是排序后中间的那个数。如果有偶数个数,就是中间两个数的平均值。
注意,这个平均值可能是整数,可能是小数,如果都是一样的处理,如果输出整数是3.0,而不是3,就有问题。所以需要分开处理。

import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int a[] = new int[n];
		for(int i=0;i<n;i++) {
			a[i] = sc.nextInt();
		}
		Arrays.sort(a);
		int min = a[0];
		int max = a[n-1];
		int mid = 0;
		if(n%2 != 0) {//奇数个
			mid = a[n/2];
			System.out.println(max + " "+ mid + " "+min);
		}else {
			mid = a[(n-1)/2] + a[n/2];
			if(mid%2 == 0) {
				System.out.println(max + " "+ mid/2 + " "+min);
			}else {
				System.out.println(max + " "+(float)mid/2+ " "+min);
			}
		}
		sc.close();
	}
}

原文地址:https://www.cnblogs.com/yu-jiawei/p/12376057.html