问题:1168. 歌唱比赛评分
类型:数组找数
题目描述:
四(1) 班要举行一次歌唱比赛,以选拔更好的苗子参加校的歌唱比赛。评分办法如下:设 N 个评委,打 N 个分数( 0≤每个分数≤10 ),去掉一个最高分,去掉一个最低分,剩下的评委的平均分即为该选手的最后得分。
但是选手太多了,靠人工计算每个选手的得分太慢太麻烦。你能不能帮帮他们,设计一个程序让计算机来算出选手的最后得分呢?
输入:
第一行为一个整数 N (5≤N≤10);
第二行为 N 个整数 Ai (0≤Ai≤10 )。
输出:
选手的最后得分(保留两位小数)。
样例:
输入:
5
5 6 7 8 9
输出:
7.00
完整代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){//一、分析问题//已知:N 个分数(5≤N≤10);//未知:该选手的最后得分(保留两位小数)。//关系: 去掉一个最高分,去掉一个最低分,剩下的评委的平均分即为该选手的最后得分。//二、定义变量(已知、未知、关系)int n,a[11],mmax=INT_MIN,mmin=INT_MAX; double r=0.0;//三、输入已知cin>>n;for(int i=0;i<n;i++){cin>>a[i];r+=a[i];if(a[i]>mmax) mmax=a[i];if(a[i]<mmin) mmin=a[i];}//四、根据关系计算r=(r-mmax-mmin)/(n-2);//五、输出未知 cout<<fixed<<setprecision(2)<<r;return 0;
}