八戒戒丶 2021-10-04 17:19 采纳率: 50%
浏览 300
已结题

C语言中使用switch语句如何与if一起使用。

我是刚学这个C语言的,teacher给我们留了一个任务。内容是输入任意一个百分位的分数,然后输出它的等级。如97分为A,60以下为E。
我是用switch语句实现的,但是有一个地方我实在束手无策:就是输入分数后要判定一下输入的语句是否在0至100之间。
但是运行结果总是直接转到最后一句(即输出ss和error),前面那些判定直接没用了,我不知道这是为啥。
以下是我思考的两种方案,但是都达不到我想要的效果。

img

#include<stdio.h>
    int main(void)
    {  
      /*********Begin*********/
     
      int number;
            scanf("%d",number);
            if(number>=0&&number<=100){
            switch(number/10)
                {
                  case 10:
                  case 9:
                  printf("A");
                  break;
                  case 8:
                  printf("B");
                  break;
                  case 7:
                  printf("C");
                  break;
                  case 6:
                  printf("D");
                  break;
                  default:
                  printf ("E");
                  break;
                }
            }                    
           else{
           printf("error!");            
             }
      /*********End**********/ 
       return 0;
    }

img

  • 写回答

2条回答 默认 最新

  • 编程萌新555 2021-10-04 17:22
    关注

    啊这,我一来就看到你scanf里面少了个&,加上试试,哈哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月12日
  • 已采纳回答 10月4日
  • 创建了问题 10月4日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器