5 solutions

  • 0
    @ 2025-1-18 12:00:34
    #include <bits/stdc++.h>
    using namespace std;
    double a[305];
    int main()
    {
    	
    	double n,d,x,p=0,j;
    	cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    	}
    	d=a[1];
    	x=a[1]; 
    	for(int i=1;i<=n;i++)
    	{
    		if(d<a[i])d=a[i];
    		if(x>a[i])x=a[i];
    	} 
    	for(int i=1;i<=n;i++)
    	{
    		if(d==a[i])
    		{
    			a[i]=-1;
    			break;
    		}
    	}
    	for(int i=1;i<=n;i++)
    	{
    		if(x==a[i])
    		{
    			a[i]=-1;
    			break;
    		}
    	}
    	for(int i=1;i<=n;i++)
    	{
    		if(a[i]!=-1)p=p+a[i];
    	}
    	j=0;
    	for(int i=1;i<=n;i++)
    	{
    		if(j<abs(p/(n-2.0)-a[i]) && a[i]!=-1)
    		{
    			j=abs(p/(n-2.0)-a[i]);
    		}
    	}
    printf("%.2lf %.2lf",p/(n-2.0),j);	
     }
    • 0
      @ 2025-1-15 11:32:19
      #include <iostream>
      #include <vector>
      #include <algorithm>
      #include <cmath>
      #include <iomanip>
      using namespace std;
      
      int main() {
          int n;
          cin >> n;
          vector<double> samples(n);
          for (int i = 0; i < n; ++i) {
              cin >> samples[i];
          }
          sort(samples.begin(), samples.end());  // 对样本进行排序
          double sum = 0.0;
          for (int i = 1; i < n - 1; ++i) {
              sum += samples[i];
          }
          double average = sum / (n - 2);  // 平均白细胞数量
          double maxDiff = 0.0;
          for (int i = 1; i < n - 1; ++i) {
              maxDiff = max(maxDiff, abs(samples[i] - average));
          }
          cout << fixed << setprecision(2) << average << " " << maxDiff << endl;
          return 0;
      }
      
      

      这个是对的,可以试一试,不对的话给差评,如果是对的,麻烦给个好评,谢谢!

      • -2
        @ 2024-11-16 9:40:36
        #include<bits/stdc++.h>
        using namespace std;
        const int N=310;
        double a[N];
        int main()
        {
        	int n;
        	cin>>n;
        	int maxid,minid;
        	double sum=0;
        	for (int i=1;i<=n;i++)
        	{
        		cin>>a[i];
        		if (i==1 || a[i]>a[maxid])
        		{
        			maxid=i;
        		}
        		if (i==1 || a[i]<a[minid])
        		{
        			minid=i;
        		}
        		sum+=a[i];
        	}
        	sum=sum-a[maxid]-a[minid];
        	double ave=sum/(n-2);
        	double res=0;
        	for (int i=1;i<=n;i++)//
        	{
        		if (i==maxid || i==minid) continue; 
        		double t=abs(a[i]-ave);
        		if (t>res)
        		{
        			res=t;
        		}
        	}
        	cout<<fixed<<setprecision(2)<<ave<<" "<<res; 
        	return 0;
        }
        
        • -3
          @ 2024-11-17 14:35:11
          #include<bits/stdc++.h>
          using namespace std;
          const int N=310;
          double a[N];
          int main()
          {
          	int n;
          	cin>>n;
          	int maxid,minid;
          	double sum=0;
          	for (int i=1;i<=n;i++)
          	{
          		cin>>a[i];
          		if (i==1 || a[i]>a[maxid])
          		{
          			maxid=i;
          		}
          		if (i==1 || a[i]<a[minid])
          		{
          			minid=i;
          		}
          		sum+=a[i];
          	}
          	sum=sum-a[maxid]-a[minid];
          	double ave=sum/(n-2);
          	double res=0;
          	for (int i=1;i<=n;i++)//
          	{
          		if (i==maxid || i==minid) continue; 
          		double t=abs(a[i]-ave);
          		if (t>res)
          		{
          			res=t;
          		}
          	}
          	cout<<fixed<<setprecision(2)<<ave<<" "<<res; 
          	return 0;
          }
          
          
          • -5
            @ 2024-9-27 20:13:50

            nisnfneakjjgima

            • 1

            Information

            ID
            897
            Time
            1000ms
            Memory
            256MiB
            Difficulty
            3
            Tags
            (None)
            # Submissions
            229
            Accepted
            40
            Uploaded By