这次我们认真地(?)来写一篇题解
我们先来看一下之前那题的代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
double sum=0,ave;
cin>>n;
int a[1000];
for(int i=0;i<=n-1;i++)
{
cin>>a[i];
sum+=a[i];
}
for(int k=1;k<=n;k++)
{
for(int i=0;i<=n-2;i++)
if(a[i]>a[i+1]) swap(a[i],a[i+1]);
}
ave=(sum-a[0]-a[n-1])/(n-2);
cout<<fixed<<setprecision(2)<<ave;
return 0;
}
很显然,两题中要求的算分方法是一样的,都是去掉一个最高分和一个最低分然后求平均值。但是开一个数组来保存选手们的分数其实没有必要,我们可以逐个地算,然后打擂台比大小
#include<bi