3 solutions

  • 3
    @ 2024-1-22 11:13:13
    #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
      @ 2023-12-17 21:48:05
      #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
        @ 2023-10-4 15:59:15
        ```
        #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