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

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

一个简单的实现:



#include <stdio.h>
#include <stdlib.h>

int main(void){
    
    int result[30];
    int veryGood = 0;
    int notGood= 0;
    
    int i=0;
    //产生30个随机成绩,并统计不及格人数和优秀人数 
    while(i<30){
        result[i]= rand()%101;
        printf("%d ",result[i]);
        if(result[i]>=90){
            veryGood ++;
        }
        
        if(result[i]<60){
            notGood ++;
        }
        i++;
        if(i%10==0){
            printf("\n");
        }
        
    }
    
    int j;
    int temp;
    //排序成绩 
    for(i=0;i<29;i++){
        for(j=i+1;j<30;j++){
            if(result[i]>result[j]){
                temp = result[i];
                result[i]=result[j];
                result[j] = temp;
            }
        }
    }
    
    //打印成绩 
    for(i=0;i<30;i++){
        if(i%10==0){
            printf("\n");
        }
        printf("%d ",result[i]);

    }
    
    //打印统计信息 
    printf("\n\n优秀人数:%d\n",veryGood);
    printf("不及格人数:%d\n",notGood);
    
}

img