package text;
import java.util.ArrayList;
import java.util.Scanner;
/*
题目:
给出n个有序数据,输出其最大值、中位数、最小值(由大到小)
输入:
n
m p q......
输出:
数据之间空格隔开,整数直接输出,分数四舍五入保留一位小数的结果
步骤:
1、定义一个集合,集合中输入数字
2、for循环找出最大值、中位数、最小值
3、排列三者顺序
4、按格式输出数据
*/
public class Demo03 {
public static void main(String[] args) {
ArrayList<Float> list = new ArrayList<>();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
list.add(sc.nextFloat());
}
float max = 0,min = 0;
for (int i = 0; i < n; i++) {
if(max <= list.get(i)) {
max = list.get(i);
}
if(min >= list.get(i)){
min = list .get(i);
}
}
//计算中位数
float mid;
if(n % 2 == 0){
mid = (list.get(n/2)+list.get(n /2 - 1))/2;
}else{
mid = list.get((n - 1) / 2 );
}
//判断三个数的大小,并输出
if(min >= mid){
System.out.print(max + " ");
System.out.print(min + " ");
System.out.println(mid);
}else{
System.out.print(max + " ");
System.out.print(mid + " ");
System.out.println(min);
}
}
}
输出最值与中位数
最新推荐文章于 2023-11-11 09:48:56 发布