注册 登录
编程论坛 C++教室

switch分支语句,有这样的用法吗,比如 case 0,1,2,3 case 10-20

helloworld22 发布于 2008-11-16 00:07, 10795 次点击
switch (x)
{
case 1: 语句1;
 break;
case 2: 语句2;
 break;
case 3: 语句3;
 break;
……
}
我想当 x 的值在1至10之间的时候,执行语句1,那么 case 后面的表达式应该如何写呢?
case 1-10:语句1;
10 回复
#2
scut352008-11-16 01:07
dd
switch (x)
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10: 语句1;
break;
case 11: 语句2;
break;
case 12: 语句3;
break;
……
}
#3
helloworld222008-11-16 09:18
谢谢。
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10: 语句1;
break;
但是这样也太长了。如果是要1-100,那不得100行的case
#4
scut352008-11-16 09:49
前面用if语句判断
switch (x)
{
default: 语句1;break;//1-10执行该语句
case 11: 语句2;
break;
case 12: 语句3;
break;
……
}
#5
helloworld222008-11-16 10:37
我想要
  1-100,执行语句1
101-200,执行语句2
201-300,执行语句3

那么case后面的表达式该怎么写呢?

case 1-100:语句1;break;
case 101-200:语句2;break;
case 201-300:语句3;break;
#6
p1s2008-11-16 13:20
[bo][un]helloworld22[/un] 在 2008-11-16 10:37 的发言:[/bo]

我想要
  1-100,执行语句1
101-200,执行语句2
201-300,执行语句3

那么case后面的表达式该怎么写呢?

case 1-100:语句1;break;
case 101-200:语句2;break;
case 201-300:语句3;break;


这种直接用if else了,用switch要写死的……更麻烦的是,突然哪天发现要把范围改掉,这下崩溃了……
#7
newyj2008-11-16 13:20
那就用if 来判断 执行
#8
nuciewth2008-11-16 15:30
不会求余么?
#9
nuciewth2008-11-16 15:30
switch(i%100+1)
#10
systory2008-11-16 16:45
switch(int(x/100.0-0.01))
{
case 0: 语句1;break;
case 1: 语句2; break;
case 2: 语句3; break;
}
你试试吧,看看好不好用

[[it] 本帖最后由 systory 于 2008-11-16 16:47 编辑 [/it]]
#11
hadtofall2008-11-16 19:30
顶楼上!
1