C语言初学者求助,一个程序设计题,大神看看我编的程序是否有错误。。

若a的值小于100,请将以下选择结构写成由switch语句构成的选择结构。。if(a<30)m=1;elseif(a<40)m=2;elseif(a<50)m=3;els... 若a的值小于100,请将以下选择结构写成由switch语句构成的选择结构。。
if(a<30) m=1;
else if(a<40) m=2;
else if(a<50) m=3;
else if(a<60) m=4;
else m=5;

我的编程为——
int a;
switch(a\10)
{case 2||1||0: m=1;break;
case 3: m=2;break;
case 4: m=3;break;
case 5: m=4;break;
default: m=5
}
展开
 我来答
超级大不懂
2013-08-04 · TA获得超过181个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:121万
展开全部
好吧我觉得楼上两位简直就是乱来的。这个是最基本的判断选择语句。
上题中,假设a小于30,则m=1.
否则(a大于等于30)且a小于40,则m=2.
同理,a在40到49之间,m=3
a在50到59之间,m=4.
a在60到99之间,m=5;
case的作用是,让程序进行跳转。

其实你的思路已经是对的了,但是程序有问题,case中多个条件不是这么用的。
用switch写出来就是
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;
}
其中0 1 2三个条件执行同一条语句,所以case 0和1不要break就可以了。
yjy_qwj
2013-08-04 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:80.2万
展开全部
case 2||1|| 0:等价于case 1:

case 0:
case 1:
case 2:
m=1;
break;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
数据流谷雨
2013-08-04 · TA获得超过1436个赞
知道小有建树答主
回答量:962
采纳率:60%
帮助的人:503万
展开全部
你假如输入10以内的数字的话,a/10的值为0
然后吗,跳到default,m=5
与要求不符合
追问
case 0.。。看到了吗???
追答
case 2||1||0:  m=1;break;

注意2||1||0

它的结果就是1

相当与你的这句话为case 1: m=1;break;

2和0都没用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友944409324
2013-08-04 · TA获得超过107个赞
知道答主
回答量:127
采纳率:0%
帮助的人:41.5万
展开全部
switch(a\10) 除号写反了, 是(a/10)..

你程序没问题,要相信自己。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Gtr720
2013-08-04 · TA获得超过325个赞
知道小有建树答主
回答量:945
采纳率:50%
帮助的人:393万
展开全部
程序是错的。如果a等于10那么请问M是多少
更多追问追答
追问
前提a已经在前面程序中设定a<100.。。
追答
if(a<30) m=1;
else if(a<40) m=2;
else if(a<50) m=3;
else if(a<60) m=4;
else m=5;
这个程序就是个错的。 范围都是错的。
强制转换都没有。 拿什么比较呢。 你是新手吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式