灰太狼来了 发表于 2021-10-19 21:21:44

填空


根据以下if语句写出与其功能相同的switch语句(x值在0~100间),将(1)(2)(3)空补全。

if语句:

if(x<60)   m=1;

else   if(x<70)    m=2;

      elseif(x<80)   m=3;

            elseif(x<90)   m=4;

                     elseif(x<100)   m=5;

switch语句:

switch(    (1)    )

{

       (2)   m=1;break;

case6:m=2;break;

case7:m=3;break;

case8:m=4;break;

       (3)   m=5;

}

jhq999 发表于 2021-10-20 11:53:31

x/10
default :
case 9:

番杰 发表于 2021-10-21 17:37:28

先说下使用switch语句是大概怎么实现的:
同过switch判断x(分数)十位上的数是多少,进而给m赋值;
例如:
95分->十位上是9->属于   100>x>90这个范围内,所以m=5(这点if里给出了)   

(1)x/10         取分数x十位上的数
(2)default :   它把这个写在里switch中的第一条,很容易让人产生误会,但是看下面的程序,60<x<100的范围都有了,而且m后的值为1,也不能看出这个填default
(3)case 9:   这个很简单,看后面m=5,就能知道,它属于90<x<100这个范围呢,所以除以10就为9.

傻眼貓咪 发表于 2021-10-21 18:20:38

#include <stdio.h>

int main()
{
    int x, m;
    scanf("%d", &x);
   
    /*
    if(x < 60) m = 1;
    else if(x < 70) m = 2;
    else if(x < 80) m = 3;
    else if(x < 90) m = 4;
    else if(x < 100) m = 5;
    */
   
    switch(x/10)
    {
      default:
            m = 1;
            break;
      case 6:
            m = 2;
            break;
      case 7:
            m = 3;
            break;
      case 8:
            m = 4;
            break;
      case 9:
            m = 5;
            break;
    }
   
    printf("%d", m);
    return 0;
}
页: [1]
查看完整版本: 填空