各路大神求求了,90求调 qwq

B2095 白细胞计数

zhangshengzhi @ 2024-11-16 16:11:38

#include<bits/stdc++.h>
using namespace std;
double a[333],b[333],sum;
int main()
{
    int n,s;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    int max=a[1];
    int min=a[1];
    for(int i=2;i<=n;i++)
        if(a[i]>max)
        {
            max=a[i];
            s=i;
        }
    for(int i=s;i<=n;i++) a[i]=a[i+1];
    for(int i=2;i<=n-1;i++)
        if(a[i]<min)
        {
            min=a[i];
            s=i;
        }
    for(int i=s;i<=n;i++) a[i]=a[i+1];
    n=n-2;
    for(int i=1;i<=n;i++) sum=sum+a[i];
    sum=sum*1.0/n*1.0;
    for(int i=1;i<=n;i++)
    {
        if(a[i]>sum) b[i]=a[i]-sum;
        else b[i]=sum-a[i];
    }
    double m=b[1];
    for(int i=2;i<=n;i++)
    if(b[i]>m) m=b[i];
    printf("%.2f %.2f",sum,m);
    return 0;
}

by iranai @ 2024-11-16 16:15:03

@zhangshengzhi原始想法:你的s是不是该初始化为1啊,否则尤其是求最小值时可能第一个就是最小值,那s就无法更新,就用的是之前最大值时的s


|