求买书的最低费用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求买书的最低费用相关的知识,希望对你有一定的参考价值。

一.设计思路

  1.在主函数中输入购买书的数量;

  2.调用计算函数将购买的书的数量作为参数传递;

  3.在计算函数中给出折扣信息以及5本书以下的最低费用;

  4.由思考得知,1到10本书的最低费用是不同的计算,10本之后的最低费用计算都是在前10本书最低费用的基础上进行计算的;

  5.用switch将情况分为10类,计算最低费用;

  6.在主函数中输出所求得的最低费用。

二.代码实现

 1 #include<iostream>
 2 using namespace std;
 3 
 4 double GetLowestPrice(int number)
 5 {
 6     double lowestprice;    //最低费用
 7     double price = 8;    //单价
 8     double discount[5] = { 0, 0.05, 0.1, 0.2, 0.25 };    //买1,2,3,4,5本书各自的折扣
 9     int group = number / 10;    //number除以10的商(每10本一组)
10     int values = number % 10;    //number除以10的余数
11     double base = 5 * 2 * (1 - discount[4]) * 8 * group;    //买10的整数倍本书的最低价格
12     double price2 = price * 2 * (1 - discount[1]);    //买两本书的最低价格
13     double price3 = price * 3 * (1 - discount[2]);    //买三本书的最低价格
14     double price4 = price * 4 * (1 - discount[3]);    //买四本书的最低价格
15     double price5 = price * 5 * (1 - discount[4]);    //买五本书的最低价格
16     switch (values)
17     {
18     case 0:
19         lowestprice = base; break;
20     case 1:
21         lowestprice = base + price; break;
22     case 2:
23         lowestprice = base + price2; break;
24     case 3:
25         lowestprice = base + price3; break;
26     case 4:
27         lowestprice = base + price4; break;
28     case 5:
29         lowestprice = base + price5; break;
30     case 6:
31         lowestprice = base + price + price5; break;
32     case 7:
33         lowestprice = base + price2 + price5; break;
34     case 8:
35         lowestprice = base + price4 + price4; break;
36     case 9:
37         lowestprice = base + price4 + price5; 
38     }
39     return lowestprice;
40 }
41 
42 int main()
43 {
44     int number;    //书的数量
45     double LowestPrice;    //所购书的最低价
46     cout << "请输入要购买的书的数量:";
47     cin >> number;
48     LowestPrice = GetLowestPrice(number);
49     cout << "购买" << number << "本书所花的最低费用是:" << LowestPrice << "元!";
50     return 0;
51 }

三.测试结果

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

四.总结

  此次试验只要发现了每十个为一组的规律后,实验就非常简单了。

以上是关于求买书的最低费用的主要内容,如果未能解决你的问题,请参考以下文章

6049:买书 (完全背包)

课堂练习-买书折扣最低

课堂练习-买书价格最低

(动态规划)6049:买书

买书实验

买书?买知识?