两个问题,求解答

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

慕粉032

2016-07-29 15:58

#include <stdio.h>

int main() 

{

    int score = 87; //考试分数为87分 

    score/=10;   ---------1.这里是为什么????

    switch(score)

    {

      2.  /*想想以下代码为什么用这种方式;

          这种方式的好处?*/

        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;

}


写回答 关注

4回答

  • 兰天0
    2016-07-29 17:37:42
    已采纳

    1).87/=10是取该数的十位,因为下边的case是根据十位数进行判断。

    2).这样用使代码较为简洁,如果用区间判断的话,就比较麻烦。

    慕粉032

    非常感谢!

    2016-07-29 18:15:58

    共 1 条回复 >

  • 慕粉032
    2016-07-29 18:16:34

    非常谢谢

  • 丰子凯
    2016-07-29 18:11:30
    1. 因为这是等级判断,而且最小的分数差是10,所以除以10,如果是20分一个等级则除以20,这样可以减少代码长2.度。

    2. 因为switch代码对于区间之间的划分更简单,这题还没有明显的·体现,大数字的等级判定则会将switch代码的优点·体现出来。


  • 慕粉032
    2016-07-29 18:02:24

    嗯嗯,好的,谢谢,谢谢

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题