求助大佬,只有40分!

P5726 【深基4.习9】打分

acmwriter @ 2022-11-04 18:49:23

#include<stdio.h>
int main()
{
    int a,b,c=0;float d;
    scanf("%d",&a);
    for(int i=1;i<=a-2;i++)
    {
        scanf("%d",&b);
        c+=b;
    }
    d=c*1.0/(a-2);
    printf("%.2f",d);
    return 0;
}

by Kevin_Mamba @ 2022-11-04 18:54:15

@acmwriter ?

太勉强了吧 。

他又没说最后两个就一定是最高分和最低分 。

那你拿40分都是数据水,拿高了。


by cannotdp @ 2022-11-04 18:55:18

应该排序


by WA_sir @ 2022-11-04 18:55:54

@acmwriter 先用数组存,然后排个序,减去最大最小值,求平均数


by Kevin_Mamba @ 2022-11-04 18:57:37

本人没学过C语言,只能用差不多的 C++ 。

#include<stdio.h>
int main()
{
    int a,b,c=0;float d;
    int mx=-1000000001,mn=1000000001;
    scanf("%d",&a);
    for(int i=1;i<=a;i++)
    {
        scanf("%d",&b);
        c+=b;

        if(b>mx) mx=b;
        if(b<mn) mn=b;
    }
    d=(c-mx-mn)*1.0/(a-2);
    printf("%.2f",d);
    return 0;
}

by Kevin_Mamba @ 2022-11-04 19:00:04

两位大佬:

只用求最大值和最小值,排序没辟谣吧 。

\mathcal{O(n)\rightarrow\mathcal{O(n\log_2n)}}

by WA_sir @ 2022-11-04 19:03:15

@2124Kobe 辟谣->必要

雀食


|