标题:if改为switch
只看楼主
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 
看7楼的

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-06-03 11:19
睡神之首
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2004-5-7
得分:0 
是不是 switch 后面()中的表达式结果 一定要是整数  不然7楼的就不能成立啊 因为没规定是整形

己不所欲,勿施于人。 有心为善虽善不赏,无心为恶虽恶不罚。
2004-06-03 11:25
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
得分:0 

不应该吧!!

应该都可以吧,并不是要求一定是整数!!


差点把你忘了...
2004-06-03 12:05
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
得分:0 

switch 后面()中的表达式必须是整数表达式!

但这对本命题并不是问题:

main() { float a; int m; for(;;) { scanf("%f",&a);

switch ((int)a/10) { case 1: m=1; case 2: m=1;break; case 3: m=2;break; case 4 : m=3;break; case 5 : m=4;break; default : m=5;

} printf("\n%d\n",m); } }


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-06-03 15:03
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
得分:0 

不好意思,我那语句漏了一个case

加个case 0: m=1;

我以为这帖子沉了就懒的说了


我的主页 http://www.
2004-06-03 20:00
睡神之首
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2004-5-7
得分:0 

这题题目是 当a为正数时,把下面的语句改为switch语句

case 0: m=1; 用不上啊 当a 为正数时,没有可能 a/10 为0


己不所欲,勿施于人。 有心为善虽善不赏,无心为恶虽恶不罚。
2004-06-06 17:04
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
得分:0 
假设1/10等于多少?是0啊

我的主页 http://www.
2004-06-06 18:07
shilei
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-5-21
得分:0 
14楼的
switch 后面()中的表达式必须是整数表达式!
好像不是吧
2005-08-25 21:19
袋鼠
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-7-19
得分:0 
/  是整除运算符,a/10 的结果是整数,a小于10时结果为0
eg:a=4   则 a/10 为 0
        a=46则 a/10 为 4

所以应该是:
switch (a/10)
{
 case 0:
 case 1 :
 case 2 : m=1;break;
 case 3:  m=2;break;
 case 4 : m=3;break;
 case 5 : m=4;break;
 default : m=5;
}

爱编程,爱生活
2005-08-26 17:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-1658-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.730705 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved