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

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日