我不明白为什么这样写?程序怎样自动识别的那个分数段是什么等级?请大神指教一下?谢谢

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

qq_海博_0

2015-08-22 10:28

#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;

}

我还是

写回答 关注

2回答

  • qq_wds_0
    2015-09-06 22:20:32

    我也问问是怎么识别分等级的

    dire

    因为只看第一位是多少就可以判断等级了 例如:99/10=9 为什么等于9呢?因为整数相除,小数部分直接截断.直接扔掉了. 看下面的对照 90<=分数<=100 ,等级为A。 9 <=分数<= 10 80<=分数<90 ,等级为B。 8 <=分数<= 9 60<=分数<80 ,等级为C。6<=分数<= 8 分数<60 ,等级为D。 6<60 ​要是1000分的 你也可以把它转换成100分的 或者10分的 来处理 这是一个小技巧..mooc中国大学有讲这道题

    2015-09-26 03:31:09

    共 1 条回复 >

  • Q__Q
    2015-08-22 11:09:31

    一句一句给你解释自然你就懂了

    qq_海博_... 回复周耀勇

    明白了,这个在score/10后他就是10以内了,case后面的数和你的分数挂钩

    2015-08-24 13:17:03

    共 3 条回复 >

C语言入门

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

926027 学习 · 20793 问题

查看课程

相似问题