Guanguplussss @ 2024-06-09 11:07:05
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,tmp=0;
double sum=0;
cin>>a;
const int a_copy=a;
int b[a_copy]={};
for(int i=0;i<a;i++){
cin>>b[i];
}
for(int j=0;j<a-1;j++){
if(b[j]<b[j+1]){
swap(b[j],b[j+1]);
}
}
b[0],b[a]=0;
for(int k=1;k<a-1;k++){
sum+=b[k];
}
cout<<fixed<<setprecision(2)<<sum/(a-2);
return 0;
}
by OIer_Hhy @ 2024-06-09 11:10:52
@Guanguplussss 你排序写错了
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,tmp=0;
double sum=0;
cin>>a;
const int a_copy=a;
int b[a_copy]={};
for(int i=0;i<a;i++){
cin>>b[i];
}
/* 错误排序
for(int j=0;j<a-1;j++){
if(b[j]<b[j+1]){
swap(b[j],b[j+1]);
}
}
*/
//正确排序
for(int i=0;i<a;i++){
for(int j=0;j<a-1;j++){
if(b[j]<b[j+1]){
swap(b[j],b[j+1]);
}
}
}
b[0],b[a]=0;
for(int k=1;k<a-1;k++){
sum+=b[k];
}
cout<<fixed<<setprecision(2)<<sum/(a-2);
return 0;
}
by renzhanwen @ 2024-06-09 11:11:34
@Guanguplussss 代码第17行应是b[a-1]=0,求关。
by OIer_Hhy @ 2024-06-09 11:16:14
@syex_renzhanwen
第十七行可以去掉,因为求和时没求
by renzhanwen @ 2024-06-09 11:48:51
@LALaker 恍然大悟。
by Guanguplussss @ 2024-06-14 21:03:19
@所有人 谢谢啦!
by abc20131113 @ 2024-07-19 17:18:57
插一下我的话:能否请教一下,这题我没看懂......
by Guanguplussss @ 2024-10-06 09:05:11
@abc20131113 emm......