int m
if      (m>=100 && m<200){...}
else if (m>=200 && m<300){...}
else if (m>=300 && m<400){...}
else if (m>=400 && m<500){...}
else if (m>=500 && m<600){...}
else if (m>=600 && m<700){...}
else if (m>=700 && m<800){...}
else if (m>=800 && m<900){...}
else if (m>=900 && m<1000){...}
else{...}
请教,这样的语句能否写成switch格式?如何写? 谢谢!

解决方案 »

  1.   

    switch(m/100)
    case 1:
    case 2
      

  2.   

    printf("please input a char :");
    ch = getchar();switch(ch)
    {
    case '0' ... '9':
    printf("you enter a digit\n");
    break;
    case 'a' ... 'z':
    printf("you enter a lower case letter\n");
    break;
    case 'A' ... 'Z':
    printf("you enter a upper case letter\n");
    break;
    default:
    printf("I don't know what you enter :-)\n");
    break;
    }
    }
      

  3.   

    int i;
    switch (i)
    {
    case i=0:
     break;
    }//switch
    感觉差不多
      

  4.   

    楼主,这只是举个例子啊.
    int i=9;
    switch (i)
    {
    case i=0:
                    this.txtbox.text="sdfsaf";
     break;
             case i=9:
                  this.txtbox.text="sdf";
              break;
    }//switch注意break
    看一下就可以了
      

  5.   

    除非有比较精巧的方法,一般不适合用switch
      

  6.   

    大量的switch case 不是好方法
      

  7.   

    VB,PB中case子句还有to关键字可用(即100 to 200),还有逗号可用(即1, 2, 3),C#真的这么弱?
      

  8.   

    他是省略的写法,
    case '0' ... '9':
    实际上是
    case '0':
    .
    .
    .
    case '9':
    写9个,如果是整百的话你把后面的2个0拿掉再来判断咯
      

  9.   

    倦怠兄,我只是举个极端例子,只是想知道C#的case子句为何设计的这么弱智?叹...
      

  10.   

    哎,没办法,C#注重的是安全不是像C、C++那样方便来操作
      

  11.   

    从一个 case 标签显式贯穿到另一个 case 标签,可以使用 goto 一个 switch-case 或 goto default。...
    case 1:   
            ...
            break;   
    case 2:
            ...
            goto case 1;
      

  12.   

    97ce_twinkle(毛毛虫) 的方法不是挺好的吗
      

  13.   

    switch(m/100)
    case 1:
    case 2:
    毛毛虫的方法不错啊。
      

  14.   

    switch(m/100)
    case 1:case 2:
    ...
    ...
    case 10:
    这个可以呀
      

  15.   

    先判断是不是数字,不是数字那肯定是在else之列,是数字的话然后用
    switch(m/100)
    case 1:
    case 2:
      

  16.   

    将M除以100后截取它的整数部分,然后就可以用上面几位老兄说的
    Switch(i)
    case 1break;
    case 2
    break;
    case 3
    break;
      

  17.   

    用for语句吧~
    int i,j;
    for(i=100;i<=10000;i+=100)
        if(m>i&&m<i+100)
            ........感觉这个怎么样
      

  18.   

    写成函数如
    private string test(int i)
    {
     int j;
    if(i>1000||i<100)
      {
        .....
       }
    else
    {
     for(j=100;j<1000;i +=)
      if(i>j&&i<j+100)
        {
         ........
         }
    }
    }
      

  19.   

    呵呵,LZ可以用遍历二叉树算法,例把100-1000分2个分支一个是100-500,另一个是500-1000,先判断该数比500小还是大,如果小就执行100-500之间的判断,反之就判断500-1000的。这样比你一个个的if else对比效率要高些。
      

  20.   

    我也觉得c#的switch不支持to是一个比较烦的事。
      

  21.   

    毛毛虫的方法是好,不过我的题目也是瞎编的,我碰到的是要连写4个if else的情况。其实就是想知道为什么C#的case子句不支持to。叹... 结贴吧。
      

  22.   

    97ce_twinkle(毛毛虫)说得可行。
      

  23.   

    int i=(int)(m/100)
    switch(i)
    case 1
    case 2
    case 3
      

  24.   

    楼主不厚道,幸好我不靠分生活。
    hoho