随机产生30个学生的成绩(C语言)

随机产生30个学生的C语言成绩(成绩范围在[0,100]之间),按照从大到小的顺序排序,分别显示排序前和排序后的结果,每行输出10个;并统计输出优秀(≥90分)及不及格(<60分)的人数


#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
    int a[30],i,j,m=0,n=0,t;
    int b=0;
    srand(time(0));
    for(i=0;i<30;i++)
    {a[i]=rand()%101;}
    printf("排序前的结果\n");
    for(i=0;i<30;i++)
    {
        if(b%10==0&&b!=0)
        {printf("\n");}
        printf("%4d",a[i]);
        b++;
    }
    for(i=0;i<29;i++)
    {
        for(j=0;j<29-i;j++)
        {
            if(a[j]<a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    b=0;
    printf("\n排序后的结果\n");
    for(i=0;i<30;i++)
    {
        if(b%10==0&&b!=0)
        {printf("\n");}
        printf("%4d",a[i]);
        b++;
    }
    for(i=0;i<30;i++)
    {
        if(a[i]>=90)
        {m++;}
        if(a[i]<60)
        {n++;}
    }
    printf("\n优秀人数为%d,不及格人数为%d\n",m,n);
    return 0;
}