#include <stdio.h>

int main() {
    int i,n;
    
    float ave = 0;
    float sum = 0;
    float max = 0;
    float min = 0;
    scanf("%d",&n);
    float score[100] = {0.0};
    for(i=0;i<n;i++)
    {
       scanf("%f ",&score[i]);
    }
    max = score[0];
    min = score[0];
    for(i=0;i<n;i++)
    {
       ave += score[i];
       
       if(score[i]<min)
       {
          min = score[i];
       }
       if(score[i]>max)
       {
          max = score[i];
       }
       sum +=score[i];
    }
    ave = sum/n;
    printf("%.2f %.2f %.2f",max,min,ave);
        
    return 0;
}

刚开始数组定义的时候用的时float score[n];编译无法通过。然后没有把最大值和最小值先定义为score[0];都定义的是0,这样最小值一直就是0了,就不对。最大值,最小值,可以不用替换,直接比较大小,赋值,更简单一点。还看到有人没有把最大值和最小值先定义为score[0],而是直接把最大值定义为0,最小值定义为100。