课堂练习-购书问题
2016-06-03 14:21
204 查看
问题:
书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。设计算法能够计算出读者购买一批书的最低价格。
解决方法:当购买书籍在1-5本之间的时候,购买不同的书籍最省钱,当购买6本时有3+3,4+2,5+1这三种方法,计算得5+1这种方法最省钱,当购买7本时有4+3,5+2这两种方法,计算得5+2这种方法最省钱,当购买8本时有4+4,5+3这两种方法,计算得4+4这种方法最省钱,当购买9本时有5+4这种方法,计算得5+4这种方法最省钱。当购买10本时有5+5这种方法,计算得5+5这种方法最省钱。由此分析得购买数量是以10本为一个周期。当购买数量超过10本时,进入下一个循环周期。
代码:
试验结果:
试验总结:
本次试验要求学会总结规律,将一些困难问题仔细分析,通过寻找他们之间的规律,将问题简单化。老师在下课之前简单的说了一下编程思路,我就恍然大悟。我觉得读懂题目真的很重要,要注意培养自己读题审题的能力。
书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
本数 | 折扣 |
2 | 5% |
3 | 10% |
4 | 20% |
5 | 25% |
解决方法:当购买书籍在1-5本之间的时候,购买不同的书籍最省钱,当购买6本时有3+3,4+2,5+1这三种方法,计算得5+1这种方法最省钱,当购买7本时有4+3,5+2这两种方法,计算得5+2这种方法最省钱,当购买8本时有4+4,5+3这两种方法,计算得4+4这种方法最省钱,当购买9本时有5+4这种方法,计算得5+4这种方法最省钱。当购买10本时有5+5这种方法,计算得5+5这种方法最省钱。由此分析得购买数量是以10本为一个周期。当购买数量超过10本时,进入下一个循环周期。
代码:
//李妍 //20133093 #include<iostream> using namespace std; int Money(int num) { double money; int N = (int) (num / 10); switch (num % 10){ case 0: money = 0; break; case 1: money = 1 * 8; break; case 2: money = 2 * 8 * 0.95; break; case 3: money = 3 * 8 * 0.9; break; case 4: money = 4 * 8 * 0.8; break; case 5: money = 5 * 8 * 0.75; break; case 6: money = 1 * 8 + 5 * 8 * 0.75; break; case 7: money = 5 * 8 * 0.75 + 2 * 8 * 0.95; break; case 8: money = 4 * 8 * 0.8 * 2; break; case 9: money = 5 * 8 * 0.75 + 4 * 8 * 0.8; break; } return N * 5 * 8 * 0.75 * 2 + money; } int main() { int num = 0;//数量 cout << "请输入要买书的数量:" << endl; cin >> num; while (num == 0){ cout << "要买书的数量不能为0!请重新输入:" << endl; cin >> num; } cout << "当买" << num << "本书时,花费最少钱是:" << Money(num)<<"元。" << endl; return 0; }
试验结果:
试验总结:
本次试验要求学会总结规律,将一些困难问题仔细分析,通过寻找他们之间的规律,将问题简单化。老师在下课之前简单的说了一下编程思路,我就恍然大悟。我觉得读懂题目真的很重要,要注意培养自己读题审题的能力。
相关文章推荐
- 利用ambassador实现container跨主机连接
- 10款jQuery文本高亮插件
- Line segment matching
- Swift开篇012->构造过程
- PHP学习笔记之php文件操作
- iOS http协议的解决
- 基于Struts和hibernate框架的学生信息管理系统
- TCP与UDP的区别
- Web前端技术的选择
- 机器学习: 最小二乘与贝叶斯估计
- labels--绑定的标签元素的集合
- 培训讲解——Android集成开发环境 studio
- oracle打开SQL Developer时提示 enter full path name of java.exe
- jQuery 跨域访问
- [Codeforces670A]Holidays(数学,构造)
- POJ 2139 Six Degrees of Cowvin Bacon【floyd】
- IBM Websphere培训3——JVM相关参数配置和问题诊断
- AJAX 入门详解
- linux下开启mysql 慢查询,分析查询语句
- mysql union ,UNION RESULT