为了账号安全,请及时绑定邮箱和手机立即绑定

两个问题,求解答

#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 回答

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

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

1 回复 有任何疑惑可以回复我~
#1

慕粉032 提问者

非常感谢!
2016-07-29 回复 有任何疑惑可以回复我~

非常谢谢

0 回复 有任何疑惑可以回复我~
  1. 因为这是等级判断,而且最小的分数差是10,所以除以10,如果是20分一个等级则除以20,这样可以减少代码长2.度。

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


1 回复 有任何疑惑可以回复我~

嗯嗯,好的,谢谢,谢谢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

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

进入课程

两个问题,求解答

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信