博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Task 7 买书最低价格问题
阅读量:5345 次
发布时间:2019-06-15

本文共 1596 字,大约阅读时间需要 5 分钟。

任务:

    书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示: 本数    折扣

2         5%

3        10%

4        20%

5        25%

    根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。 设计算法能够计算出读者购买一批书的最低价格。 要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。(截止日期2015-5-12晚18:00)

1.设计思想:这是一道很经典的数学题,感觉很像奥林匹克那种竞赛题,所以只要做出把数学题算出来就可以很容易的编程实现了。首先,假设要购买N本书,购买1-5本书时,是购买N本为最低价;

  

根据规律,可以得出N>9时  ,当N除以10所得余数为8时,最低价情况是N/10组5本书,两组4本书的组合;余数不为8时,最低价情况就是N/5组5本书,一组N%5本书的组合。然后根据这个规律把程序写出来即可。

2.源代码:

 

#include
using namespace std;void main(){ int n; cout << "请输入购买数量:" << endl; cin >> n; double price; int i = n % 5; switch (i) { case 0: price = n * 8 * 0.75; cout << "最低价是购买" << n / 5 << "套整5卷书"; break; case 1: price = (n - 1) * 8 * 0.75 + 8; cout << "最低价是购买" << (n - 1) / 5 << "套整5卷书和五卷书中任意一本。" << endl; break; case 2: price = (n - 2) * 8 * 0.75 + 2 * 8 * 0.95; cout << "最低价是购买" << (n - 1) / 5 << "套整5卷书和五卷书中任意两本。" << endl; break; case 3: price = (n - 8) * 8 * 0.75 + 4 * 8 * 0.8 * 2; cout << "最低价是购买" << (n - 8) / 5 << "套整5卷书和两套任意四卷" << endl; break; case 4: price = (n - 4) * 8 * 0.75 + 4 * 8 * 0.8; cout << "最低价是购买" << (n - 1) / 5 << "套整5卷书,和五卷书中任意四本。" << endl; break; } cout << "最低价格是:" << price << endl;}

 

3.实验截图:

 

4.实验总结:(1)有人说写程序就是在做数学题,这道题就是一个很典型的例子,只有当把这道题做出来的时候才能变成程序.

(2)写程序很重要的一点就是要敢于尝试,如果什么也不干就妄想写出什么是不可能的。

(3)要善于寻找事物的规律,开始的时候大家都没有仔细地分析运算,每个人都在抱怨这道题有多难、多复杂,可是在真正动手之后找到规律了才焕然大悟这题是有多简单。可见实践和动手是非常重要的。

 

转载于:https://www.cnblogs.com/mengxiangjialzh/p/4492534.html

你可能感兴趣的文章
DataGrid 点击 获取 行 ID
查看>>
git 使用
查看>>
边框圆角方法
查看>>
asp.net WebApi自定义权限验证消息返回
查看>>
php中eval函数的危害与正确禁用方法
查看>>
20172315 2017-2018-2 《程序设计与数据结构》第十一周学习总结
查看>>
MySQL添加、修改、撤销用户数据库操作权限的一些记录
查看>>
关于谷歌浏览器Chrome正在处理请求的问题解决
查看>>
Git核心技术:在Ubuntu下部署Gitolite服务端
查看>>
平面波展开法总结
查看>>
建造者模式
查看>>
ArraySort--冒泡排序、选择排序、插入排序工具类demo
查看>>
composer 安装laravel
查看>>
8-EasyNetQ之Send & Receive
查看>>
Android反编译教程
查看>>
List<string> 去重复 并且出现次数最多的排前面
查看>>
js日志管理-log4javascript学习小结
查看>>
Android之布局androidmanifest.xml 资源清单 概述
查看>>
How to Find Research Problems
查看>>
Linux用户管理
查看>>