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

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日

悬赏问题

  • ¥200 内网渗透测试 横向渗透 Windows漏洞 Windows权限维持
  • ¥15 数据结构图的相关代码实现
  • ¥20 求友友们解惑,感激不尽
  • ¥15 python中aiohttp.client_exceptions.ContentTypeError
  • ¥30 DeepLung肺结节检测生成最大froc值对应的epoch报错
  • ¥15 信号发生器如何将频率调大,步尽值改成10
  • ¥15 keil 5 编程智能家具,风扇台灯开关,人体感应等
  • ¥100 找一名渗透方面的专家
  • ¥20 使用Matlab APP设计一个插补小程序
  • ¥15 evo评估时曲线出现问题