某项体育赛事会邀请N位评委(最多十位),每位评委会给出1-9之间的一个整数作为评分值。评分统计程序要去掉一个最高分,去掉一个最低分,然后计算平均值并显示,输出显示时保留两位小数。
题目内容:
编写评分统计程序。某项体育赛事会邀请N位评委(最多十位),每位评委会给出1-9之间的一个整数作为评分值。评分统计程序要去掉一个最高分,去掉一个最低分,然后计算平均值并显示,输出显示时保留两位小数。
输入格式:
首先需要输入N的值,N大于3小于等于10,然后输入N个1-9之间的整数作为评分值。可以用空格分隔,或者每个数占一行。
输出格式:
带两位小数的定点数
输入样例:
8 1 2 3 4 5 6 7 8
输出样例:
4.50
#include<iostream>
using namespace std;
const int MAXN = 1000;
void bubble(int* arr, int len)
{
for(int i=0;i<len-1;i++)
for(int j=0;j<len-1-i;j++)
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
int main()
{
int arr[MAXN];
int N; cin >> N;
for (int i = 0; i < N; i++)
cin >> arr[i];
bubble(arr, N);
double sum = 0.0;
for (int j = 0; j < N; j++)
if (arr[j] > arr[0] && arr[j] < arr[N-1])sum += arr[j];
int ans = N;
for (int n = 0; n < N; n++)
if (arr[n] == arr[0] || arr[n] == arr[N-1])ans--;
double ave = (double)sum /ans;
printf("%.2f", ave);
return 0;
}