
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
} 展开
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
} 展开
5个回答
展开全部
好吧我觉得楼上两位简直就是乱来的。这个是最基本的判断选择语句。
上题中,假设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就可以了。
上题中,假设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就可以了。
展开全部
case 2||1|| 0:等价于case 1:
case 0:
case 1:
case 2:
m=1;
break;
case 0:
case 1:
case 2:
m=1;
break;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你假如输入10以内的数字的话,a/10的值为0
然后吗,跳到default,m=5
与要求不符合
然后吗,跳到default,m=5
与要求不符合
追问
case 0.。。看到了吗???
追答
case 2||1||0: m=1;break;
注意2||1||0
它的结果就是1
相当与你的这句话为case 1: m=1;break;
2和0都没用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
switch(a\10) 除号写反了, 是(a/10)..
你程序没问题,要相信自己。
你程序没问题,要相信自己。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序是错的。如果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;
这个程序就是个错的。 范围都是错的。
强制转换都没有。 拿什么比较呢。 你是新手吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询