if else 语句

来源:百度知道 编辑:UC知道 时间:2024/06/17 13:40:28
if (number>500) cost=0.15;
else if (number>300) cost=0.10;
else if (number>100) cost=0.075;
else if (number>50) cost=0.05;
else cost=0;
这是一个if else语句,number指数量,cost指折扣,程序意思是购买数量不同,分别有不同的折扣。我想问比如cost=0.10那行,需要将语句改为
else if (500>number>300) cost=0.10;吗?因为我觉得只有number>300,似乎也包括了number>500那个情况的啊,

没必要的,else if(number>300)就可以了,因为只有在程序判断完if(number>500)为false之后,才会运行else if的,也就是说隐含了number<=500这种情况,如果加了number<500的话,反而不包括500了。
另外做连续比较的话,我记得在program C中是不合法的,应该是else if(number<=500&&number>300) 但是这样的话就是增加了程序运行的过程,在程序优化上是不合理的。