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();
    }
}

猜你喜欢

转载自www.cnblogs.com/yu-jiawei/p/12376057.html
今日推荐