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