/*
* 请编程实现下面的要求:在编程竞赛中,
* 有10个评委为参赛的选手打分,选手的最后得分为:
* 去掉一个最高分和一个最低分后其余8个选手的平均值。
* (每个评委的分数分别为11,22,33,44,55,66,77,88,99,100)
* 分析:将分数列入数组,然后遍历,找出最小值和最大值,
全部相加,然后所有数相加,减去两个极值,除以8
*/
class Demo2 {
public static void main (String[] args) {
int[] arr = {11,22,33,44,55,66,77,88,99,100}; //;录入数组
int max = arr[0]; //定义几个数据类型,将索引为0的数分别赋值给max/min
int min = arr[0];
int sum = 0;
double avg;
for (int i = 1;i < arr.length ; i++ ) { //从索引1开始遍历进行比较
if (max < arr[i]) { //满足条件则将值赋值给max/min
max = arr[i];
}
if (min > arr[i]) {
min = arr[i];
}
}
System.out.println("评委打分分别为:");
for (int i = 0;i < arr.length; i++ ) { //遍历所有求和
sum += arr[i];
System.out.print(arr[i]+" ");
}
System.out.println();
System.out.println("去掉一个最高分"+ max +"分,和去掉一个最低分"+ min +"分后");
avg = (sum-max-min)/((double)arr.length-2); //求平均值
System.out.println("选手最终得分是:"+ avg +"分");
}
} |