MengXi1128 @ 2024-07-19 17:13:45
#include<bits/stdc++.h>
using namespace std;
long long a,b=11,c=0;
long double aa[1001],d=0;
int main(){
cin>>a;
for(int i=1;i<=a;i++){
cin>>aa[i];
}
for(int i=1;i<=a;i++){
b=min(b,aa[i]);
}
for(int i=1;i<=a;i++){
if(aa[i]==b){
aa[i]=0;
break;
}
}
for(int i=1;i<=a;i++){
c=max(c,aa[i]);
}
for(int i=1;i<=a;i++){
if(aa[i]==c){
aa[i]=0;
break;
}
}
b=0;
for(int i=1;i<=a;i++){
b+=aa[i];
}
d=b/(a-2);
cout<<fixed<<setprecision(2)<<d;
return 0;}
by TODAYS @ 2024-07-19 17:25:57
@ MengXi1128浮点数不能跟整数比较最大最小值
by TODAYS @ 2024-07-19 17:42:06
@MengXi1128 我帮你把代码改好了,如下
#include<bits/stdc++.h>
using namespace std;
long long a,b=11,c=0;
long long aa[1001]; // 下面min()比较赋值函数不能跟不同类行的值进行比较
long double d;
int main(){
cin>>a;
for(int i=1;i<=a;i++){
cin>>aa[i];
}
for(int i=1;i<=a;i++){
b=min(b,aa[i]);
}
for(int i=1;i<=a;i++){
if(aa[i]==b){
aa[i]=0;
break;
}
}
for(int i=1;i<=a;i++){
c=max(c,aa[i]);
}
for(int i=1;i<=a;i++){
if(aa[i]==c){
aa[i]=0;
break;
}
}
b=0;
for(int i=1;i<=a;i++){
b+=aa[i];
}
d=b*1.0/((a-2)*1.0); // 浮点数与整数不能做运算,要将整数*1.0后变成浮点数才能进行运算
cout<<fixed<<setprecision(2)<<d;
return 0;}
by MengXi1128 @ 2024-07-19 17:48:21
@efdfw 谢谢,已关