DevilsFlame @ 2023-08-08 12:27:52
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[101],s=0;
double h=0;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++)
if(a[j]<a[i]){
a[j]=s;
a[j]=a[i];
a[i]=s;
}
h+=a[i];
}
h=h-a[1];
h=h-a[n];
cout<<fixed<<setprecision(2)<<h/(n-2)<<endl;
}
by ybc2025chenyuyang @ 2023-08-08 12:30:53
为什么要排序呀?直接在输入的时候找最大值就可以了呀
by ybc2025chenyuyang @ 2023-08-08 12:31:57
@yhdxg
by ybc2025chenyuyang @ 2023-08-08 12:32:28
另外此题为什么是橙题呀,请求降红
by ZQIN_P @ 2023-08-08 12:34:09
@ybc2025125chenyuyang 黄及以下难度差别不大,管理不会处理
by DevilsFlame @ 2023-08-08 12:34:29
怎么找最大值?还不会......
by ZQIN_P @ 2023-08-08 12:36:10
@yhdxg 您可以定义一个变量,初始值设为最小值,之后遇到比他大的就替换,直至遍历完整个数组即可
by ybc2025chenyuyang @ 2023-08-08 12:36:25
@yhdxg
for(int i=1;i<=n;i++){
maxn=max(maxn,a[i]);
minn=min(minn,a[i]);
}
以上是求数组中最大值和最小值的代码
by Butterfly___qwq @ 2023-08-08 12:36:44
@yhdxg 你这又不是堆排序,你这是冒泡,h在累加的时候不一定加的是排好序的。
by ybc2025chenyuyang @ 2023-08-08 12:37:58
@xyz 对,优先队列方便多了
by DevilsFlame @ 2023-08-08 12:38:05
知道了