请问需要实现下面switch功能的代码改怎么填?switch语句怎么用?

来源:4-16 分支结构之switch语句

沐竹雨

2015-08-03 12:13

/*小明参加期末考试,分数等级分为A-D,等级划分方式如下:
90<=分数<=100 ,等级为A。
80<=分数<90 ,等级为B。
60<=分数<80 ,等级为C。
分数<60 ,等级为D。
小明期末考试分数为87分,在代码编辑器中完善代码使其输出结果为: 等级B */


#include <stdio.h>
int main() 
{
    int score = 87; //考试分数为87分 
    
    switch(score)
    {
        /*想想以下代码为什么用这种方式;
          这种方式的好处?*/
        case 10:
        case 9:
            printf("等级A");
            break;
        case 8:
            printf("等级B");
                            //这里是不是缺点什么?            
        case 7:
        case 6: 
            printf("等级C");
                            //这里是不是缺点什么?  
        default:
            printf("等级D");
            break;    
    }
    return 0;
}

请问,要实现上面的功能改怎么补充代码?switch语句怎么用?谢谢!

写回答 关注

2回答

  • Perona
    2015-08-03 12:47:11
    已采纳

    参考代码,自己对照下

    #include <stdio.h>
    int main() 
    {
        int score = 87; //考试分数为87分 
        score/=10;
        switch(score)
        {
            /*想想以下代码为什么用这种方式;
              这种方式的好处?*/
            case 10:
            case 9:
                printf("等级A");
                break;
            case 8:
                printf("等级B");
                   break;             //这里是不是缺点什么?            
            case 7:
            case 6: 
                printf("等级C");
                 break;               //这里是不是缺点什么?  
            default:
                printf("等级D");
                break;    
        }
        return 0;
    }


    Perona 回复沐竹雨

    不客气

    2015-08-03 13:36:34

    共 4 条回复 >

  • 码农进行曲
    2015-08-22 15:08:41

    为什么是case10.而不是case100和case90这样的格式?我还是不太明白

    铭炎

    case后面接的是常量,系统只有输入这个常量,才会进行该case里面的语句,如case100和case90,若是输入90~100之间的数,没有case后面的常量90、100,就会进行default语句。而该案例,由于score定义整型,score/10所得为整型,也就是商,可以起到分别的作用。

    2015-09-13 00:07:04

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926288 学习 · 20799 问题

查看课程

相似问题