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

购买《哈利波特》书籍问题

时间:2015-04-15 23:20:31      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

一、题目要求

   书店针对《哈里波特》系列书籍促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷价格为8元,具体的优惠信息如下:

                           本数               折扣

                            2                   5%

                            3                  10%

                            4                  20%

                            5                  25%

根据购买的卷数,享受相应的优惠,由此设计程序能够购买一批书以其最低价格。

二、设计思路

    已有的五本书之内的优惠,已经在表中详细列出了,购买6到9本数量的书籍时,如果其中五本享受25%的优惠时,我们剩下查表找到其中的相应的优惠信息,即其中存在组合形式,使购买的书籍的价格最低。

三、代码

 1 #include<iostream.h>
 2 void main()
 3 {
 4     int num;//本数
 5     int record;//
 6     int remainder;//余数
 7     double price;
 8     int n=1;
 9     while(n)
10     {
11         cout<<"请输入您买书的本数:"<<endl;
12         cin>>num;
13         record=num/5;
14         remainder=num%5;
15         if(record>=2)
16         { 
17             record--;
18             remainder=remainder+5;
19         }
20         if(num<=5)
21         {
22             switch(num)
23             {
24             case 0:
25                 price=0;
26                 break;
27             case 1:
28                 price=8;
29                 break;
30             case 2:
31                 price=16*(1-0.05);
32                 break;
33             case 3:
34                 price=24*(1-0.1);
35                 break;
36             case 4:
37                 price=32*(1-0.2);
38                 break;
39             case 5:
40                 price=40*(1-0.25);
41                 break;
42             default:
43                 break;
44             }
45         }
46         else
47         {
48             switch(remainder)
49             {
50             case 5:
51                 price=record*40*(1-0.25)+40*(1-0.25);
52                 break;
53             case 6:
54                 price=record*40*(1-0.25)+40*(1-0.25)+8;
55                 break;
56             case 7:
57                 price=record*40*(1-0.25)+40*(1-0.2)+16*(1-0.05);
58                 break;
59             case 8:
60                 price=record*40*(1-0.25)+32*(1-0.2)*2;
61                 break;
62             case 9:
63                 price=record*40*(1-0.25)+40*(1-0.25)+32*(1-0.2);
64                 break;
65             default:
66                 break;
67             }
68         }
69         cout<<"购买"<<num<<"本书的最低价格是:"<<price<<""<<endl;
70         cout<<"继续输入1,退出输入0"<<endl;
71         cin>>n;
72     }
73 }

四、运行结果

技术分享

技术分享

购买《哈利波特》书籍问题

标签:

原文地址:http://www.cnblogs.com/zZ-ily/p/4430460.html

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