xianghaoyu666 @ 2024-05-07 21:05:38
只过了3个
#include<iostream>
#include<iomanip>
using namespace std;
double a[301];
int main(){
double b,c,max1=0,max2=0,min=100000,sum=0;
cin>>b;
for(int i=1;i<=b;i++){
cin>>a[i];
sum+=a[i];
if(a[i]>max1){
max1=a[i];
}
if(a[i]<min){
min=a[i];
}
}
c=(sum-max1-min)/(b-2);
cout<<fixed<<setprecision(2)<<c<<' ';
for(int i=1;i<=b;i++){
if(a[i]>max2 && a[i]!=max1 && a[i]!=min){
max2=a[i];
}
}
cout<<fixed<<setprecision(2)<<max2-(sum-max1-min)/(b-2)<<endl;
return 0;
}
by Fur_Zes @ 2024-05-07 21:13:01
@xianghaoyu666 第一,误差值求出来的是绝对值,你的第二个for里只求了除掉极值后的最大值,但是有可能出现
by Fur_Zes @ 2024-05-07 21:13:57
@xianghaoyu666 第二,结果只需要输出误差值最大的那个,你的公式是有问题的,自己再重新思考一下
by Fur_Zes @ 2024-05-07 21:14:45
@xianghaoyu666 这些回答都是针对你的第二个输出
by xianghaoyu666 @ 2024-05-08 20:55:17
@As2O3 谢谢大佬,已经过了