码迷,mamicode.com
首页 > 其他好文 > 详细

购书问题

时间:2015-04-15 18:49:09      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:

一、题目要求

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

                                  本数                    折扣

                                   2                       5%

                                   3                       10%

                                   4                       20%

                                   5                       25%

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

二、思路

  根据分析这个算法最核心的问题是解决6-9本书的购买方法。1-5本只要按一套买就能享受最大优惠。10本书以上时可化简为10本书以下的情况,如买11本和买6本是一样的。由计算得:

6本时5+1,

7本时5+2,

8本时4+4

9本时5+4

是最优惠的。

三、代码

 1 #include<iostream.h>
 2 void main()
 3 {
 4 while
 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 }

四、截图

技术分享技术分享

五、总结

  写这个程序前好好分析了一下他的算法,因此写起来思路很清晰,也很顺利,因此算法很重要。

购书问题

标签:

原文地址:http://www.cnblogs.com/zglsh/p/4429190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!