榆544 2021-12-20 18:21 采纳率: 80%
浏览 609
已结题

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

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

  • 写回答

1条回答 默认 最新

  • a5156520 2021-12-20 18:35
    关注

    一个简单的实现:

    
    
    #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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月28日
  • 已采纳回答 12月20日
  • 创建了问题 12月20日

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示