9173. 大奖赛评分B


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;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM