zoukankan      html  css  js  c++  java
  • 购书优惠问题

    一,问题描述

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

                                   本数                  折扣

                                       2                       5%

                                       3                       10%

                                       4                       20%

                                       5                       25%

      根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。设计算法能够计算出读者购买一批书的最低价格。

    二、设计思想

    易知购买五本时的最大优惠,大于五本时可以转化为5+n。

    三、代码实现

    复制代码
    #include<iostream>
    using namespace std;
    double num1(int a){
       double sum1;
       switch(a%5)
           {
           case 1:
               sum1=5*8*0.75+8;break;
           case 2:
               sum1=5*8*0.75+2*8*0.95;break;
           case 3:
               sum1=4*8*0.8+4*8*0.8;break;
           case 4:
               sum1=5*8*0.75+4*8*0.8;break;  
           }
    return sum1;
    }
     
    int main(int argc, char* argv[])
    {
        int num;
        double sum;
        cout<<"请输入您要购买的本数:";
        cin>>num;
        if(num<=5)
        {
           switch(num)
           {
           case 1:
               sum=8;break;
           case 2:
               sum=2*8*0.95;break;
           case 3:
               sum=3*8*0.9;break;
           case 4:
               sum=4*8*0.8;break;
           case 5:
               sum=5*8*0.75;break;
           }
        }
        if((num>5)&&(num<10))
        {
            sum=num1(num);
        }
        if(num>9)
        {
            switch(num%5)
           {
            case 0:
                sum=(num/5)*8*5*0.75;break;
           case 1:
               sum=(num/5-1)*5*8*0.75+num1(6);break;
           case 2:
               sum=(num/5-1)*8*5*0.75+num1(7);break;
           case 3:
               sum=(num/5-1)*8*5*0.75+num1(8);break;
           case 4:
               sum=(num/5-1)*8*5*0.75+num1(9);break;
           }
        }
     
       cout<<"最大折扣价为:"<<sum;
       cout<<endl;
       return 0;
     
    }
    复制代码

    四、实现截图

  • 相关阅读:
    安装最新版本的zabbix
    原 linux添加虚拟ip(手动vip和keepalived方式)
    zzuli OJ 1129: 第几天
    WIN内核线程池函数
    Java中利用Math.random()产生服从泊松分布的随机数
    机房重构所遇问题&quot;未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件&quot;的解决的方法集锦
    二路插入排序
    iOS开发之地图与定位
    2015-07-30Java 错题
    bootstrap, boosting, bagging
  • 原文地址:https://www.cnblogs.com/a1264393659/p/6961942.html
Copyright © 2011-2022 走看看