zoukankan      html  css  js  c++  java
  • 买书促销问题

    一、题目

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

    本数     折扣

    2         5%
    3         10%
    4         20%
    5         25%

    根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
    设计算法能够计算出读者购买一批书的最低价格。
    要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。

    二、设计思路

    很明显,题目难点在于买五本以上时有不同的买法。不难看出,在买10本及以上时,可看做6,7,8,9+5x,所以问题集中在买6,7,8,9的时候。经过计算,除买8本,4+4比较便宜,其他都是除5取余。使用switch函数可以轻松解决。

    三、源代码#include<iostream.h>
    int main()
    {
        double sum;
        sum=0;
     int i,j;
     cout<<"请输入要购买本数:"<<endl;
        cin>>i;
        j=i%5;
     switch(j)
        {
        
            case 0:
                sum=i*8*0.75;
                break;
            case 1:
                sum=(i-1)*8*0.75+8;
                break;
            case 2:
                sum=(i-2)*8*0.75+15.2;
                break;
            case 3:
                sum=(i-8)*8*0.75+51.2;
                break;
            case 4:
                sum=(i-4)*8*0.75+25.6;  
                break;
     }
     cout<<"最低价格:"<<sum<<endl;
    }

    四、截图

    五、总结

    经过这次实验,我发现一个好的思路能够大量简化编程工作,思路很重要。

  • 相关阅读:
    浮动 float
    display属性和特性
    盒子阴影
    内边距
    外边距
    边框
    网页背景
    猴子补丁
    设计模式创造者模式--python
    Go语言:validator库对请求参数校验
  • 原文地址:https://www.cnblogs.com/lsfh/p/4428994.html
Copyright © 2011-2022 走看看