来看看这个的问题在哪里

img


这个要求是输入n,接下来输入n个数,然后去掉最大值和最小值求平均数,
请问这个代码哪里错了,最终算出来不对,可以详细一点不,我的思维已经混乱了

n最好是整型,a也是
而且输入f后c应该加上f吧

代码没什么大问题,只不过总数c没有加上第一次输入的f
改进如下:


 #include <stdio.h>
 #include <stdlib.h>
 int main(){
    float a=1,b,c=0,f,n,g,h,i;
    scanf("%f",&n);
    scanf("%f",&f);       //第一次输入f 
    h=f,c=f;                   //在此处输入c=f即可 
    while(a<n)
    {
        scanf("%f",&b);
        c=c+b;              //第一次输入的f没有加到总数c中 
        if(b<f)
            f=b;
        if(b>h)
            h=b;
        a++;
    }
    g=(c-h-f)/(n-2);
    printf("%.2f",g);
    return 0;
}

望采纳