3 solutions
-
3
#include<bits/stdc++.h> using namespace std; double n; double m; double aver; double a[305]; double mx=0,mn=pow(10,9); int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>a[i];m+=a[i]; mx=max(a[i],mx); mn=min(a[i],mn); } aver=(m-mx-mn)/(n-2); cout<<fixed<<setprecision(2)<<aver<<' '; double ma=0; for(int i=0;i<n;i++){ if(a[i]==mx||a[i]==mn) continue; ma=max(abs(aver-a[i]),ma); } cout<<fixed<<setprecision(2)<<ma<<endl; return 0; }
-
0
#include <cmath> #include <iomanip> #include <iostream> using namespace std; double a[301]; int main() { int n,xb_max=0,xb_min=0; double x,mmax,mmin,ave; double maxave=0,sum=0; cin>>n; cin>>a[0]; mmax=a[0]; mmin=a[0]; sum=a[0]; for(int i=1; i<n; i++) { cin>>a[i]; sum+=a[i]; if(a[i]>mmax) { mmax=a[i]; xb_max=i; } else if(a[i]<mmin) { mmin=a[i]; xb_min=i; } } ave=(sum-mmax-mmin)/(n-2); for(int i=0; i<n; i++) { if(i!=xb_max && i!=xb_min) { if(maxave<fabs(a[i]-ave)) { maxave=fabs(a[i]-ave); } } } cout<<fixed<<setprecision(2)<<ave<<" "<<maxave; return 0; }
-
0
``` #include<iostream> #include<math.h> #include<stdio.h> using namespace std; int n; double a[301],sum; int main(){ cin>>n; double maxx=pow(10,-9),minn=pow(10,9); for(int i=1;i<=n;i++){ cin>>a[i]; maxx=max(a[i],maxx); minn=min(a[i],minn); } for(int i=1;i<=n;i++){ if(a[i]!=maxx&&a[i]!=minn)sum+=a[i];//判断有效样本 } double jz=sum/(n-2),num=pow(10,-9);//均值与最大误差 for(int i=1;i<=n;i++){ if(a[i]!=maxx&&a[i]!=minn)num=max(num,fabs(a[i]-jz)); } printf("%.2lf %.2lf",jz,num); return 0; }
``` ```
- 1
Information
- ID
- 600
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 41
- Accepted
- 23
- Uploaded By