zoukankan      html  css  js  c++  java
  • 购书打折最优方案

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

                                     本数                  折扣
                                       2                       5%
                                       3                       10%
                                       4                       20%
                                       5                       25%

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

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

    设计思路:  由需求者键入所需购买的本数,然后由程序提供最优购书方案。通过仔细阅读题目,可以把情况分为3种:1、购书1~5本时,直接购入不同书券即可;2、购书6~9本时可通过简单的计算得出有唯一的最优购书方案(购6本:一套+单一卷;购7本:一套+不同卷两卷;购8本:两个不同卷4卷;购9本:一套+不同卷4卷);3、购书10本及以上,可循环第二种情况。

    程序代码:

    #include<iostream.h>
    #include<math.h>
    int main()
    {
        int n;
        cout<<"请输入您想要购买的本数:";
        cin>>n;
        if (n==0)
        {
            cout<<"最优的购书方案为:购买不同卷"<<n<<""<<endl;
            cout<<"最优方案的所需金额为"<<n*8<<""<<endl;
        }
        if (n==1)
        {
            cout<<"最优的购书方案为:购买不同卷"<<n<<""<<endl;
            cout<<"最优方案的所需金额为"<<n*8<<""<<endl;
        }
        if (n==2)
        {
            cout<<"最优的购书方案为:购买不同卷"<<n<<""<<endl;
            cout<<"最优方案的所需金额为"<<n*8*0.95<<""<<endl;
        }
        if (n==3)
        {
            cout<<"最优的购书方案为:购买不同卷"<<n<<""<<endl;
            cout<<"最优方案的所需金额为"<<n*8*0.9<<""<<endl;
        }
        if (n==4)
        {
            cout<<"最优的购书方案为:购买不同卷"<<n<<""<<endl;
            cout<<"最优方案的所需金额为"<<n*8*0.8<<""<<endl;
        }
        if (n==5)
        {
            cout<<"最优的购书方案为:购买不同卷"<<n<<""<<endl;
            cout<<"最优方案的所需金额为"<<n*8*0.75<<""<<endl;
        }
        if (n==6)
        {
            cout<<"最优的购书方案为:购买一套以及不同卷"<<n-5<<""<<endl;
            cout<<"最优方案的所需金额为"<<5*8*0.75+8<<""<<endl;
        }
        if (n==7)
        {
            cout<<"最优的购书方案为:购买一套以及不同卷"<<n-5<<""<<endl;
            cout<<"最优方案的所需金额为"<<5*8*0.75+16*0.9<<""<<endl;
        }
        if (n==8)
        {
            cout<<"最优的购书方案为:购买一套的不同卷"<<4<<""<<endl;
            cout<<"最优方案的所需金额为"<<4*8*0.8*2<<""<<endl;
        }
        if (n==9)
        {
            cout<<"最优的购书方案为:购买一套以及不同卷"<<n-5<<""<<endl;
            cout<<"最优方案的所需金额为"<<5*8*0.75+40*0.8<<""<<endl;
        }
        if (n>=10)
        {
            int j,k;
            j=n/5;
            k=n%5;
            if (k==0)
            {
                cout<<"最优的购书方案为:购买完整"<<j<<""<<endl;
                cout<<"最优方案的所需金额为"<<j*5*8*0.75<<""<<endl;
            }
            if (k==1)
            {
                cout<<"最优的购书方案为:购买完整"<<j<<"套,以及不同卷1卷"<<endl;
                cout<<"最优方案的所需金额为"<<j*5*8*0.75+8<<""<<endl;
            }
            if (k==2)
            {
                cout<<"最优的购书方案为:购买完整"<<j<<"套,以及不同卷2卷"<<endl;
                cout<<"最优方案的所需金额为"<<j*5*8*0.75+16*0.9<<""<<endl;
            }
            if (k==3)
            {
                cout<<"最优的购书方案为:购买完整"<<j<<"套,以及两套不同卷4卷"<<endl;
                cout<<"最优方案的所需金额为"<<j*5*8*0.75+4*8*0.8*2-40*0.75<<""<<endl;
            }
            if (k==4)
            {
                cout<<"最优的购书方案为:购买完整"<<j<<"套,以及不同卷4卷"<<endl;
                cout<<"最优方案的所需金额为"<<j*5*8*0.75+32*0.8<<""<<endl;
            }
            
        }
        return 0;
    }

    程序测试:

    总结思考:

       在程序的编辑过程中,出现了最低级的错误,赋值(=)与判断是否相等(==)混淆,导致编译出现错误。今后我一定会仔细注意。

  • 相关阅读:
    UVA 1513
    《ArcGIS Runtime SDK for Android开发笔记》——问题集:.geodatabase创建,创建时内容缺失问题总结
    《ArcGIS Runtime SDK for Android开发笔记》——问题集:使用TextSymbol做标注显示乱码
    《ArcGIS Runtime SDK for Android开发笔记》——(7)、示例代码arcgis-runtime-samples-android的使用
    《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析
    《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)
    《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境
    《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述
    《ArcGIS Runtime SDK for Android开发笔记》——(2)、Android Studio基本配置与使用
    《ArcGIS Runtime SDK for Android开发笔记》——(1)、Android Studio下载与安装
  • 原文地址:https://www.cnblogs.com/cainiao1hao/p/4429979.html
Copyright © 2011-2022 走看看