m0_66726333 2022-11-03 10:06 采纳率: 70%
浏览 35
已结题

c语言管理成绩系统1


#include <stdio.h>
#include <math.h>
int main() {
    int stu[30][6] = {0};
    int max[6] = {0};
    int level[6][5] = {0};;
    // 输入成绩 在输入时判断输入的成绩是不是这课 是不是 比 max 高,高就写到max里
    // 判断 输入的成绩 的等级 并在level 里记录下来
 
    // 遍历每个人
    for ( int i = 0 ; i < 20 ; i++ ) {
        // 遍历 每门成绩
        for ( int j = 0 ; j < 6 ; j++ ) {
            // 输入成绩
            scanf("%d", &stu[i][j]);
            // 判断是不是单科最高分
            if ( max[j] < stu[i][j] ) {
                max[j] = stu[i][j];
            }
            // 判断等级
            if ( stu[i][j] > 90 ) {
                level[j][0]++;
            } else if ( stu[i][j] > 80 ) {
                level[j][1]++;
            } else if ( stu[i][j] > 70 ) {
                level[j][2]++;
            } else if ( stu[i][j] > 60 ) {
                level[j][3]++;
            } else {
                level[j][4]++;
            }
        }
    }
 
    // 打印出来
    
    for( int i = 0 ; i < 6 ; i ++ ){
        printf("\n 最高分 : %d \t ",max[i] );
        for( int j = 0 ; j < 5 ; j++ ){
            printf("%c:%d人  ",(char)j+'A',level[i][j]);
        }
    }
 
}

怎么把最低分加入进去 我该怎么改 请在我的源代码上改一下 谢谢

  • 写回答

2条回答 默认 最新

  • 伍六七0804 2022-11-03 10:18
    关注
    
     
    #include <stdio.h>
    #include <math.h>
    int main() {
        int stu[30][6] = {0};
        int max[6] = {0};
        int min[6] = {0};
        int level[6][5] = {0};;
        // 输入成绩 在输入时判断输入的成绩是不是这课 是不是 比 max 高,高就写到max里
        // 判断 输入的成绩 的等级 并在level 里记录下来
     
        // 遍历每个人
        for ( int i = 0 ; i < 20 ; i++ ) {
            // 遍历 每门成绩
            for ( int j = 0 ; j < 6 ; j++ ) {
                // 输入成绩
                scanf("%d", &stu[i][j]);
                // 判断是不是单科最高分
                if ( max[j] < stu[i][j] ) {
                    max[j] = stu[i][j];
                }
                // 判断是不是单科最低分
                if ( min[j] > stu[i][j] ) {
                    min[j] = stu[i][j];
                }
                // 判断等级
                if ( stu[i][j] > 90 ) {
                    level[j][0]++;
                } else if ( stu[i][j] > 80 ) {
                    level[j][1]++;
                } else if ( stu[i][j] > 70 ) {
                    level[j][2]++;
                } else if ( stu[i][j] > 60 ) {
                    level[j][3]++;
                } else {
                    level[j][4]++;
                }
            }
        }
     
        // 打印出来
        
        for( int i = 0 ; i < 6 ; i ++ ){
            printf("\n 最高分 : %d \t ",max[i] );
            for( int j = 0 ; j < 5 ; j++ ){
                printf("%c:%d人  ",(char)j+'A',level[i][j]);
            }
        }
         for( int i = 0 ; i < 6 ; i ++ ){
            printf("\n 最低分 : %d \t ",min[i] );
            for( int j = 0 ; j < 5 ; j++ ){
                printf("%c:%d人  ",(char)j+'A',level[i][j]);
            }
        }
     
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月4日
  • 已采纳回答 11月3日
  • 创建了问题 11月3日

悬赏问题

  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私