9173. 大獎賽評分B
【問題描述】
當前許多歌手大獎賽評分時,為了體現公平,在評委給出分數后統計平均得分時,都會去掉最高分和最低分。編寫程序,讀入評委打分(分數都是大於0的整數,評委人數大於等於5,小於等於50),去掉兩個最高分和兩個最低分,計算並輸出平均得分(小數點后保留兩位有效數字)。
【輸入形式】
從控制台輸入評委的打分(以一個空格分隔的整數),以-1作為輸入結束(-1不作為評委打分)。
【輸出形式】
在標准輸出上輸出平均得分(小數點后保留兩位有效數字)。
【輸入樣例】
90 98 99 100 92 97 98 95 91 90 100 92 93 98 90 -1
【輸出樣例】
94.82
【樣例說明】
輸入評委打分有15個,去掉兩個最高分100和100,兩個最低分90和90,計算平均得分為:94.82。
【評分標准】
該題要求輸出平均得分,共有5個測試點。
#include<stdio.h>
int main()
{
int a[50],s=0,i,j,k,m=0;
int min2,max2;
double aver;
for(i=0;i<50;i++)
{ scanf("%d",&a[i]);
if(a[i]==-1) break;
s=s+a[i];
m++;
}
int max=0,min=100;
for(i=0;i<m;i++)
{
if(a[i]>max)
{
max=a[i];
j=i;
}
if(a[i]<min)
{
min=a[i];
k=i;
}
}
min2=100;max2=0;
for(i=0;i<m;i++)
{
if(i!=j&&a[i]>max2) max2=a[i];
if(i!=k&&a[i]<min2) min2=a[i];
}
s=s-max-min-max2-min2;
aver=s*1.0/(m-4.0);
printf("%.2lf\n",aver);
return 0;
}