原题描述:
Problem Description
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
Input
输入数据有多组,每组占一行,每行的第一个数是n(n大于2小于等于100),表示评委的人数,然后是n个评委的打分。
Output
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。
Sample Input
3 99 98 97
4 100 99 98 97
Sample Output
98.00
98.50
这是一道简单题,我的AC代码
import java.util.Scanner;
public class Hdu2014 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int sum=0;
int min=Integer.MAX_VALUE;
int max=Integer.MIN_VALUE;
for(int i=0;i<n;i++){
int m=sc.nextInt();
if(m<min){
min=m;
}
if(m>max){
max=m;
}
sum+=m;
}
int res=sum-min-max;
//第一种方式输出
System.out.println(String.format("%.2f", 1.0*res/(n-2)));
//第二种方式输出
// System.out.printf("%.2f",1.0*res/(n-2));
// System.out.println();
}
}
}