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

哈利波特课后练习

时间:2016-06-02 21:52:51      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

题目要求:

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

                               本数                  折扣

                                   2                       5%

                                   3                       10%

                                   4                       20%

                                   5                       25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。

设计算法能够计算出读者购买一批书的最低价格。

要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。

1设计思路:

0,1,2,3,4共五本。一本八块钱

 

本数折扣

2   5%

3   10%

4   20%

5  25%

   

 

本,价钱           原价         降价

1    8             8           

2    16-16*%5 =15.2     16      0.8

3    3*8-3*8*%10  =21.6  24    2.4

4    32-32*%20 =25.8    32      6.4

5    40-40*%25 =30     40       10

 

 

 

6本 3+3  1+5  2+4  

43.2  38   41

 

7本  1+6  2+5   3+4

46     45.2   47.4

 

 

8本 1+7  2+6  3+5    4+4

53.2 53.2   51.6      51.6

 

9本  1+8   2+7    3+6    4+5 

      59.6   60.4   59.6   55.8

10 本 5+5 

通过以上对购买1到10本的购买分析,可以分别得到1到10本的最佳购买方式。 大多时候选择五本书为一个整体来购买。余下的就随机购买五本书中不相同的卷就可以价格最低。但在数量为8的情况有所不同,这时候选择4+4组合价格更低。

当购买数量大于十时,采用除以10取余的方法,余数部分使用前面分析的购买方式,其余使用5本整体的购买方式。注意在余数为8时的不同。

2源程序代码:

#include<iostream>
using namespace std;

void  main()
{
    int Book=0;
    double money;
    double a[5]={0,0.05,0.1,0.2,0.25};

    while(Book<1)
    {
        cout<<"请输入你想要买的书的本数:";
        cin>>Book;
    }
    if(Book%10==8)
    {
        money=(Book/10)*10*8*(1-a[4])+(Book%10)*8*(1-a[3]);
    }
    else
    {
        money=(Book/5)*5*8*(1-a[4])+(Book%5)*8*(1-a[Book%5-1]);
    }

    cout<<"读者购买这批书的最低价格为:"<<money<<endl;
    cout<<"购买方式如下:"<<endl;
    if(Book%10==8)
    {
        cout<<"五本中有四本书每本买"<< (Book/10)*2+2<<"本,";
        cout<<"剩下的一本买"<< (Book/10)*2<<"本,"<<endl;
    }
    else
    { 
        if(Book%5!=0)
        {
            cout<<"五本中有"<<Book%5<<"本书每本买"<< Book/5+1<<"本,";
            cout<<"剩下的"<<5-Book%5<<"本每本买"<< Book/5<<"本,"<<endl;
        }
        else
        {
            cout<<"五本书每本买"<< Book/5<<"本 "<<endl;
        }
        
    }
   
}

 3 结果截图:

网速不好明日再发

4个人总结:

 

哈利波特课后练习

标签:

原文地址:http://www.cnblogs.com/sunmei20142925/p/5554362.html

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