该产品的单价是$3.5。当数量超过10时,提供%5的折扣。条件运算符如下:
total_price = unit_price*quantity*(quantity >10 ? 1.0 :0.95);
这个条件运算符成立吗?
这个不是应该quantity大于10,就计算第一个表达式。超过10,乘1.0,那不是相当于没折扣吗?不超过10的时候才乘0.95.这个条件运算符是不是写错了?求解
谢谢!
啊???!! 那你的意思是书上的写错了??????
我看的这本是是
根据所提供的条件,是应该这样写的,并且运算结果也验证是正确的,如果书上那样是写的,恐怕就是写错了吧!
追问哈哈哈哈哈 我要打电话给出版社啊!!
追答打给出版社估计没啥结果,不过要是给作者写封邮件,估计会有回复:-)
追问我刚写完
追答恩,那就静待佳音吧,相信自己的理解没错!
追问谢谢。能帮忙看看2L的代码吗?
追答3L已经解释的很明白了:-)
追问大哥。。。。在帮忙看下2L。。。。 我有没有说错。。。。
追答你理解的很对啊,是他没理解对折扣的意思!%5的折扣,就是95折,就是总价*0.95.
本回答被提问者采纳??乘1.05?
追答3.5*1.05
不就是提供%5的折扣吗?
我是刚学c。。。。刚自学。。
理解的不对请见谅。。
书上说。当逻辑表达式a>10的时候,就计算第1个表达式。
可是我没看太明白。。当大于10时,你用3.5*1.05是什么意思。而且,第二个表达式。光写了一个3.5也没看太明白。。请指教。。
你谦虚了
你写的是什么?头文件吗?
看我写的C语言程序,是不是你说的那个:
当输入的数小于10时,3.5*总数
当输入的数大于10时,3.5*1.05*总数
#include <stdio.h>虽然你写的我不是太懂。。但是我感觉你也写错了
你没理解折扣的意思。
当数量10时。比如是15
15*3.5*0.95=49.875
这道题的意思是大于10会有折扣,应该要比1小啊? 可你的折扣是1.05,为什么比1还大呢?
哦,懂了,我以为折扣5%是在原有的基础上加5%的价格呢……
我也赶脚是这样啊。。
不知道是书写错了,还是我理解错了。 但是原题是那个
条件表达式为:表达式1?表达式2:表达式3
先求解表达式1,
若其值为真(非0)则将表达式2的值作为整个表达式的取值,
否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。
所以书上写错了。尽信书则不如无书。相信自己的判断。
大哥,能看楼上的代码,跟我讲一下吗??
追答quantity >10 ? 0.95:1.0
这个是一个表达式,算一个整体,你也可以称之为折扣
当购买数量quantity大于10时,整个表达式的值就为0.95,也就是折扣为0.95,也就是提供%5的折扣
当购买数量quantity小于等于10,整个表达式的值就为1.0,也就是没有折扣
可是楼上写的是3.5*1.05.结果是3.675。 比3.5还要大 是不是他写错了?
追答很明显他没有理解折扣的意思,是乘以0.95没错,打个比方,你是卖家,你为了促销需要打折扣,一个商品你卖3.5元,买10个就打%5的折扣,按楼上这个兄台的意思就是3.5*10*1.05=36.75,但是你不打折扣的情况顾客只要掏35就能买到,你说他错了没有?
追问谢谢!