买书折扣问题

1.题目:

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

本数                    折扣

2                       5%

3                       10%

4                       20%

5                       25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。设计算法能够计算出读者购买一批书的最低价格。

2.设计思路:

把用户要买的书籍本数除以5来取余,再用余数加上5来单独考虑要买6、7、8、9本时的情况,最后求出折扣最多的情况。以下为这几种情况时的购书价格:

当购书数量为6时,优惠方案为1+5,总价为:38;

当购书数量为7时,优惠方案为2+5,总价为:45.2;

当购书数量为8时,优惠方案为4+4,总价为:51.2;

当购书数量为9时,优惠方案为4+5,总价为:55.6;

3.源代码:

 1  #include<iostream.h>
 2  void main()
 3  {
 4
 5       int i,num,money,j;
 6       cout<<"请输入买书数量:";
 7       cin>>num;
 8       i=num%5;
 9       j=num/5;
10       switch(i)
11      {
12          case 0:
13              money=j*30;
14              break;
15          case 1:
16              money=j*30+8;
17              break;
18          case 2:
19              money=j*30+2*8*0.95;
20              break;
21          case 3:
22             if(j=0)
23              {
24                  money=3*8*0.9;
25                 break;
26              }
27              else
28              {
29                 money=(j-1)*30+4*8*0.8*2;
30                  break;
31              }
32         case 4:
33              money=j*30+4*8*0.8;
34              break;
35      }
36      cout<<"最低价格为"<<money<<"元"<<endl;
37   }

4.结果截图:

5.心得体会:

这道题重要的是得出求解方法与思路,程序编写很简单,但实现出来代码延伸与复用的用处不大,还有待改进。

时间: 2024-11-10 01:00:34

买书折扣问题的相关文章

软件工程——买书折扣问题

1.题目 书店针对<哈利波特>系列书籍进行促销活动一共5卷,用编号0.1.2.3.4表示,单独一卷售价八元,具体折扣如下所示: 本书       折扣 2           5% 3          10% 4          15% 5          20% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠.设计算法能够计算出读者购买一批书的最低价格. 2.设计思路 根据题目

课堂练习-买书折扣最低

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

编程之美之买书问题

拿到这个问题,我的第一反应是用贪心算法,优先满足不同种类多的,这样打的折扣比价多.但是,看了书中的分析发现,* 我们设定的贪心策略实际上是有问题的, ie 在买 5 + 3 本的时候会出错. 看到这里,书上说可以利用改进的贪心算法,感觉如果换了相应的折扣数量,可能又会有不同的结果了.因而,没有深入的研究下去. 既然,贪心算法不可行,那就用动态规划呗. 这里的动态规划思路很简单不过写起来有些复杂.我们这里用到了5维数组, 光是init 就写了好多. 其实我在写的时候,就在想有什么简单一点的方法可以

4月14号周二课堂练习:买书最优问题

一.问题提出 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                   折扣 2                       5% 3                       10% 4                       20% 5                       25% 二.题目要求 1.根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣

课堂练习-买书价格最低

实验背景 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数 折扣 2 5%         3 10%         4 20%            5 25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠.       设计算法能够计算出读者购买一批书的最低价格. 一.设计思想此问题可以折算为如何取余

个人项目——买书

用折后最低价买书 一.程序要求 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                    折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折

买书最优

一.题目要求 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 要求: 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购

省钱又省时间的买书方法

我经常买书,有几个问题曾经困扰过我: 买什么(欲购清单的制定) 怎样更省时间 怎样更省钱 现在,我找到了好办法,它们都不是问题了. 买什么 有时就是想买书,比如家里的书看得差不多了,比如觉得要扩大阅读视野了,比如隐隐感觉到买书时间了,那具体要买什么书,就是个问题.如果不知道买什么又想买,就只好到线下书店.线上书店去瞎逛,碰见什么买什么,消解买书欲. 我现在基本不会漫无目的地挑来挑去了,太浪费时间.我的做法是: 留意与自己阅读的书籍同类的书(书后一般有推荐,另外在网站买书时会有相关推荐,亚马逊的做

结对开发----买书问题

小组成员:赵永恒.范德一 一.实验题目 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                                   本数                  折扣                                   2                       5%                                   3