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

哪里错了啊?向大神求助!

#include <stdio.h>
int main()
{
    int score = 87; //考试分数为87分
    score=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;
}

正在回答

6 回答

这个没有问题,估计是编译器的问题

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

火空 提问者

嗯嗯,我再试试,费心了!多谢!
2015-12-12 回复 有任何疑惑可以回复我~

我再试试

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

http://img1.sycdn.imooc.com//566a1d2200010ddc06230775.jpg这个在线也能过啊

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

这个得到的是一个浮点数,你这块是不是写错了  score=score/10; 是不是应该是 score=score%10;或者说 score=(int)(score/10);

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

火空 提问者

如果score=87,那么score/10=8,执行case8,打印出 等级B 而score=score%10指的是除10 取余,结果是7 score=(int)(score/10)的话根本没必要了,score/10就是个整数 这是我的理解,仅供参考,也同样感谢你!
2015-12-12 回复 有任何疑惑可以回复我~

这个和我的代码等价啊,运行结果依旧是空白。。。。依然感谢你的解答,么么哒~~

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

流浪_老

在自己的编译器上是能运行的 你是在 在线编译器编译的么?
2015-12-11 回复 有任何疑惑可以回复我~
#2

火空 提问者 回复 流浪_老

是的,不知道为什么
2015-12-12 回复 有任何疑惑可以回复我~

#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 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

哪里错了啊?向大神求助!

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