【问题请教】用C语言求全班30个学生的平均成绩(保留两位小数),以及成绩段人数

输入样例
学生人数:30
学生分数:40 95 66 71 82 83 98 68 35 79 45 86 59 61 85 91 12 64 60 71 80 60 78 65 88 76 74 84 45 35

输出样例:
最高分:98
最低分:12
平均成绩: 67.87

各成绩段为
90以上
89-80
79-70
69-60
59-30
29-0


int main()

{

   int a[30];
   int i=0;
   for(;i<30;i++){
       scanf("%d",&a[i]);
   }
   int max=a[0],min=a[0];
   i=0;
   int sum=0;
   int b[6]={0};
   float average;
   for(;i<30;i++){
       if(a[i]<min)
           min=a[i];
       if(a[i]>max)
           max=a[i];
       sum+=a[i];
       if(a[i]>=90)
          b[0]++;
      else if(a[i]>=80&&a[i]<=89)
          b[1]++;
      else if(a[i]>=70&&a[i]<=79)
          b[2]++;
      else if(a[i]>=60&&a[i]<=69)
          b[3]++;
      else if(a[i]>=30&&a[i]<=59)
          b[4]++;
      else if(a[i]>=0&&a[i]<=29)
          b[5]++;
   }
   average=sum/30;
   printf("最高分%d\n",max);
   printf("最低分%d\n",min);
   printf("平均成绩%f\n",average);
   printf("各成绩段为:\n");
   printf("90分以上:%d\n",b[0]);
   printf("89-80:%d\n",b[1]);
   printf("79-70:%d\n",b[2]);
   printf("69-60:%d\n",b[3]);
   printf("59-30:%d\n",b[4]);
   printf("29-0:%d\n",b[5]);
   return 0;
  
}