需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。
思路:
① 定义一个数组,用动态初始化完成数组元素的初始化,长度为6
② 键盘录入评委分数
③ 由于是6个评委打分,所以,接收评委分数的操作,用循环改进
④ 求出数组最大值
⑤ 求出数组最小值
⑥ 求出数组综合
⑦ 按照计算规则进行计算得到平均分
⑧ 输出平均分
Scanner sc = new Scanner(System.in);
//定义6位数的数组
int arr[] = new int[6];
//利用循环获取分数
for (int i=0;i<6;i++){ //for循环快捷键 数值.fori 正向; 数值.forr 反向
System.out.print("请录入您要给的分数:");
arr[i] = sc.nextInt();
}
//分别获取最大值和最小值
int max = arr[0],min =arr[0];
for (int i = 0; i < 6; i++) {
if (max < arr[i]){
max = arr[i];
}
}
for (int j = 0; j < 6; j++) {
if (min>arr[j]){
min = arr[j];
}
}
//进行元素的+运算,再减去最大值与最小值
int sum = 0;
for (int k=0;k<6;k++){
sum +=arr[k];
}
System.out.println("选手的平均分为:"+(sum-max-min)/(6-2));