课堂练习-促销书
题目:
书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
本数 折扣
2 5%
3 10%
4 20%
5 25%
根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
设计算法能够计算出读者购买一批书的最低价格。
要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。(截止日期2016-6-3晚18:00)
设计思路:通过列出购买1~10书最小花费是的购买形式,找到相应的规律:5本以下购买不同的数最优惠,6本(1,5)7本(2,5)8本(4,4)9本(4,5)10本(5,5)
代码实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | //陈昌 20143051 // 2016.5.30 哈利波特 促销书籍 #include<iostream> using namespace std; void main() { double monery; int num; int shang,yu; cout<< "请输入购买数量:" ; cin>>num; if (num<=5) { switch (num) { case (1): monery=8; break ; case (2): monery=16*0.95; break ; case (3): monery=24*0.9; break ; case (4): monery=32*0.8; break ; case (5): monery=30; break ; default :cout<< "输入错误!!" <<endl; } } else if (num<=10) { switch (num) { case (6): monery=38; break ; case (7): monery=45.2; break ; case (8): monery=51.2; break ; case (9): monery=55.6; break ; case (10): monery=60; break ; } } else { shang = num / 10; yu = num % 10; switch (yu) { case (1): monery=8; break ; case (2): monery=16*0.95; break ; case (3): monery=24*0.9; break ; case (4): monery=32*0.8; break ; case (5): monery=30; break ; case (6): monery=38; break ; case (7): monery=45.2; break ; case (8): monery=51.2; break ; case (9): monery=55.6; break ; } monery +=60*shang; } cout<< "购买数量为:" <<num<< " 应付金额:" <<monery<<endl; } |
实现截图:
个人总结:
列出各种可能,找寻相关的规律
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步