有一个编程比赛,有5个评委给选手打分.取消最高分和最低分后的平均分就是这个选手的最后得分,
这5个评委的评分为:{99, 100, 98, 97, 96};
1. 5个评委的评分,使用一个数组在保存
2. 找到数组中的最高分(获取最大值)
3. 找到数组中的最低分(获取最小值)
4. 计算所有总分,求和思想
5. 计算有效总分 = 计算所有总分 - 最高分 - 最低分
6. 计算最终得分 = 计算有效总分/ 有效人数;
public static void main(String[] args) {
// 1. 5个评委的评分,使用一个数组在保存
// 索引 0 1 2 3 4
int[] arr = {99, 100, 98, 97, 96};
// 2. 找到数组中的最高分(获取最大值)
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i]; // 如果取出的数据大于最大值,将取出的数据作为最大值
}
}
// 3. 找到数组中的最低分(获取最小值)
int min = arr[0]; // 假设0索引的元素就是最小值
for (int i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i]; // 如果取出的数据小于最小值,将取出的数据作为最小值
}
}
// 4. 计算所有总分,求和思想
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i]; // 将数组中的数据添加到sum中
}
// 5. 计算有效总分 = 计算所有总分 - 最高分 - 最低分
int total = sum - max - min;
// 6. 计算最终得分 = 计算有效总分/ 有效人数;
int avg = total / (arr.length - 2);
System.out.println("最后得分: " + avg);
}