【深基4.习9】打分
题目描述
现在有位评委给选手打分,分值从
到
。需要去掉一个最高分,去掉一个最低分(如果有多个最高或者最低分,也只需要去掉一个),剩下的评分的平均数就是这位选手的得分。现在输入评委人数和他们的打分,请输出选手的最后得分,精确到
位小数。
输入格式
第一行输入一个正整数,表示有
个评委。
第二行输入个正整数,第
个正整数表示第
个评委打出的分值。
输出格式
输出一行一个两位小数,表示选手的最后得分。
提示
数据保证,,每个评委打出的分值为为
到
(含
与
)之间的整数。
代码部分
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long n,a[1001],i,sum=0,maxn=-1e9,minn=1e9;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
maxn=max(maxn,a[i]);
minn=min(minn,a[i]);
sum+=a[i];
}
sum-=maxn;
sum-=minn;
double ans=sum;
ans/=(n-2);
printf("%.2lf",ans);
}
解题思路
用与
标记最大与最小值,
计算总在
中减去最大与最小值,最后除以
后输出。