題目要求:
我們學院經常組織各項技能比賽,例如電腦文化節中Flash作品比賽,台下有10位評委來評判參賽者的作品,評委打分:0-100分的整數,參賽者最終得分是去掉一個最高分,去掉一個最低分,所剩分數的平均分。
要求設計一個軟件,可以連續輸入10位評委的成績,並且可以無限次計算參賽者的成績(提示,不退出即可繼續輸入下一批成績)
輸入格式:
90 100 80 70 65 86 77 89 91 73
輸出格式:
100 65 82
輸入樣例:
在這里給出一組輸入。例如:
90
100
80
70
65
86
77
89
91
73
輸出樣例:
在這里給出相應的輸出。例如:
100 65
82
import java.util.Scanner;
public class Main{
public static void main(String []args){
Scanner s = new Scanner(System.in);
int a[]=new int [10];
int max=0;
int min=0;
int sum=0;
int res;
while(true)
{
for(int i=0;i<10;i++)
{
a[i]=s.nextInt();
if(i==0)
{
max = a[0];
min = a[0];
sum = 0;
}
else
{
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
}
sum+=a[i];
if(i==9)
{
res = sum - max - min
res/=8;
System.out.println(max+" "+min);
System.out.print(res);
}
}
}
}
}
本題需要注意的就是可以無限次計算參賽者的成績(提示,不退出即可繼續輸入下一批成績),這里用while(true)來實現的;
同時可以將min,max,sum,res的定義放到for循環中這樣就不用在下一組輸入時進行重置。
res = sum - max - min
res/=8;
也完全可以用int res =(int)
((sum-max-min)/8);來代替更簡潔