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

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

/*小明参加期末考试,分数等级分为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 回答

参考代码,自己对照下

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


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

沐竹雨 提问者

主要是case 后面的数字没懂!还有一个问题,请问最后的default的作用是什么?可以理解为“if...else...”语句里的else...吗?就是除了之前那几种情况(case)——其他的情况的意思吗?
2015-08-03 回复 有任何疑惑可以回复我~
#2

Perona 回复 沐竹雨 提问者

case的值就是对应switch()里的值,如这里对应的是score。default就是默认的意思,当所有的case都匹配不到,就会执行default里的语句。可以理解为if...else...。这本来就是它的变形。执行效率的话,if执行更好。switch语句更好理解。
2015-08-03 回复 有任何疑惑可以回复我~
#3

沐竹雨 提问者

好的,谢谢!
2015-08-03 回复 有任何疑惑可以回复我~
#4

Perona 回复 沐竹雨 提问者

不客气
2015-08-03 回复 有任何疑惑可以回复我~
查看1条回复

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

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

铭炎

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

举报

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

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

进入课程

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

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