上班族bo良ki影 @ 2021-05-29 18:30:34
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,maxn=-1,minn=11,sum=0,ans=0,t=0;
cin>>n;
int a[n+1];
for(int i=1;i<=n;i++)
{
cin>>a[i];
ans+=a[i];
maxn=max(a[i],maxn);
minn=min(a[i],minn);
}
for(int i=1;i<=n;i++)
{
if((a[i]==maxn||a[i]==minn)&&sum<=2)
{
sum++;
t+=a[i];
}
else break;
}
printf("%.2lf",double(ans-t)/(n-2));
return 0;
}
by 渡鸦2007 @ 2021-05-29 18:45:22
if((a[i]==maxn||a[i]==minn)&&sum<=2)
{
sum++;
t+=a[i];
}
else break;
一旦有一个数不是最大/最小数,你这个循环就不会继续
by 渡鸦2007 @ 2021-05-29 18:46:34
改为
if((a[i]==maxn||a[i]==minn)&&sum<=2)
{
sum++;
t+=a[i];
}
if (sum>=2) break;
by 上班族bo良ki影 @ 2021-05-29 21:27:19
@fqyz_wyc 多谢dalao!改完之后变成60分了。#2#3测试点没过,望dalao进一步指正
by XiaoQuQu @ 2021-06-23 17:37:46
蒟蒻表示看不懂您的代码。