#include <stdio.h>

int main() {
    double a=0.0;
    double max=0.0,min=0.0,ave=0.0; //最大 最小 平均
    double sum=0.0,n0=0.0;  //总和

    long n=0;
    scanf("%ld",&n);
    min=100;    //防止min=0一直最小
    while (n>0) 
    {
        scanf("%lf",&a);    //n科成绩

        sum += a;   //求和

        if(a>max)
            max=a;  //求最大
        if(a<min)
            min=a;  //求最小

        n--;
        n0++;
    }
    
    ave = sum/n0;      //求平均

    printf("%.2lf %.2lf %.2lf",max,min,ave);
    return 0;
}

这个代码的败笔在于不知道怎么正确的初始化min值,所以选择成绩最大值,防止初始化为0一直无法被更小的成绩赋值。欢迎大家指正!