| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1006 人关注过本帖
标题:[求助]关于switch急~~~~~~~`
只看楼主 加入收藏
雪儿2005
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-10-18
收藏
 问题点数:0 回复次数:17 
[求助]关于switch急~~~~~~~`
当x<-5时y=x
当x=0时y=x-1
当0<x<10时y=x+1
这个程序用switch 怎么编?
搜索更多相关主题的帖子: switch 
2005-10-27 15:05
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
//一般容易出语法错误的算法: ... switch(x) { case (x<-5) : y=x; break; case (x=0): y=x-1; break; case (0<x<10) : y=x+1; break; default: ...; break; } ... ************************************************************************************** //牵强能符合题意的 ... if(x>=10) printf("error!"); else switch(x) { case 0: y=x-1; break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: y=x+1; break; case -5: case -4: case -3: case -2: case -1: printf("error"); break; default: y=x; break; } ...

[此贴子已经被作者于2005-10-27 18:58:53编辑过]


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2005-10-27 16:32
029
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-8-26
收藏
得分:0 
上面的 啊
你的那对吗&gt;?
switch只能是值
不是表达市啊

2005-10-27 17:23
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
switch只能是值吗?
好像不是吧。
switch()格式是这样的
switch(表达式)
{
   case 常量表达式1:语句1
   case 常量表达式2:语句2
...........
...........
}
没说只能是数值啊

我的征途是星辰大海
2005-10-27 18:30
socks
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2005-10-13
收藏
得分:0 
以下是引用starrysky在2005-10-27 18:30:54的发言: switch只能是值吗? 好像不是吧。 switch()格式是这样的 switch(表达式) { case 常量表达式1:语句1 case 常量表达式2:语句2 ........... ........... } 没说只能是数值啊
常量表达式!你觉得你的x<-5也叫常量表达式?

虔诚的初学者~~~
2005-10-27 18:42
socks
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2005-10-13
收藏
得分:0 
这个程序跟本就不适合用switch语句

虔诚的初学者~~~
2005-10-27 18:44
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 

这到是真的 我刚才式了一下,发个可以运行的出来 #include <stdio.h> void main() { int x,y=11; scanf("%d",&x); if (x<-5)x=1; if (-5<x<0)x=2; if (0<x<10)x=3;

switch(x) { case 1 : y=x; break; case 2: y=x+1; break; case 3 : y=x+1; break; default : break; } printf("%d",y);

}


我的征途是星辰大海
2005-10-27 18:51
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 

搞错了,不和题意


我的征途是星辰大海
2005-10-27 18:53
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 
if (0&lt;x&lt;10)
这样的表达式没有语法错误,但是得不到正确结果
一般都是这样写的:
if( x&gt;0 &amp;&amp; x&lt;10 )

如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2005-10-27 18:54
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
#include <stdio.h> void main() { int x,y,z; scanf("%d",&x); if (x<-5)z=1; if (-5<x<0)z=2; if (0<x<10)z=3;

switch(z) { case 1 : y=x; break; case 2: y=x+1; break; case 3 : y=x+1; break; default : y=20; break; } printf("%d",y);

}


我的征途是星辰大海
2005-10-27 18:55
快速回复:[求助]关于switch急~~~~~~~`
数据加载中...
 
   



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

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