需求:
在编程竞赛中,有6个评委为参赛选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分的4个评委平均值
(不考虑小数部分)。
思路:
1、定义一个数组,用动态初始化完成数组元素的初始化,长度为6
2、在键盘输入6个评委打的分,用for循环输入,可以不用一次一次去输入
3、并在for循环里面把输入的值赋给数组
4、写一个方法,在里面定义一个最大值max和最小值min还有初始化一个和
sum,初始值都定义为arr[0]循环遍历所有数组,用if语句找出最大值
max和最小值min。然后用(sum-max-min)/4的到平均值
5、最后在主函数里面调用这个方法输出平均值
源代码
public static void main(String[] args) {
/*
评委打分
需求:在编程竞赛中,有6个评委为参赛选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分的4个评委平均值(不考虑小数部分)。
思路:
1、定义一个数组,用动态初始化完成数组元素的初始化,长度为6
*/
int[] arr=new int[6];
Scanner cr=new Scanner(System.in);
System.out.println("输入6个评委的打的分数:");
for(int i=0;i<6;i++) {
int c=i+1;
System.out.println("请输入第"+c+"个评委的打分:");
int cj = cr.nextInt();
arr[i]=cj;
}
System.out.println("平均分为:"+quz(arr));
}
public static int quz(int arr[])
{
int sum=0;
int max=arr[0];
int min=arr[0];
for(int i=0;i<arr.length;i++)
{
if(max<arr[i])
{
max=arr[i];
}
if(min>arr[i])
{
min=arr[i];
}
sum+=arr[i];
}
int a=(sum-max-min)/4;
return a;
}
运行结果
转载:https://blog.csdn.net/qq_45259494/article/details/115596516
查看评论