全国中小学生Scratch作品大赛拉开了序幕。每个参赛选手可以通过网络直接上传作品。本次比赛人人可做评委。每个网络评委可以通过网络对每一件作品进行打分。评分系统也是请程序高手设计的,能自动去掉一个最高分和一个最低分,求出平均分。
输入格式:
输入数据包括两行: 第一行为n,表示n个评委,n>2。 第二行是n个评委的打分,分数之间有一个空格。打分是可以带有小数部分的。
输出格式:
输出平均分,结果保留两位小数。
输入样例:
6
10 9 8 7.9 9 9.5
输出样例:
8.88
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in);//通过new Scanner(System.in)创建一个新的Scanner命名为in,控制台会一直等待输入,直到敲回车键结束, //把所输入的内容传给Scanner,作为扫描对象。 int n = in.nextInt();//只能输入int类型的字符串 in.nextLine();//返回Enter键之前的所有字符,所以可以得到带空格的字符串 float sum = 0; List<Float> nums = new ArrayList<Float>();//是泛型,表示该List中只能放Float对象 String[] line = in.nextLine().split(" ");//根据空格,将字符串拆分为字符串数组。 for (String str : line) { nums.add(Float.valueOf(str));//Float.valueOf(String)是把String字符串转换成float的封装类Float } Collections.sort(nums);//由小到大对List集合中的元素进行排序 nums.remove(0);//去掉最小值 nums.remove(nums.size() - 1);//去掉最大值 for (double num : nums) { sum += num; }//求去掉最小数和最大数后的和 System.out.println(String.format("%.2f", sum / (n - 2)));//.format将平均分转换为两位小数的浮点数 } }