zoukankan      html  css  js  c++  java
  • 课堂练习4.14

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

                                      本数                  折扣

                                       2                       5%

                                       3                       10%

                                       4                       20%

                                       5                       25%

    根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
    设计算法能够计算出读者购买一批书的最低价格。
    一、设计思想
       首先分析可得
    1、在小于等于五本时按照折扣买即可。
    2、分析可得在小于十本时分成两组比分成多组要合适。
    3、、在大于五本小于十本时,经计算可得除在第八本处按照(4,4)分最少,其他在分为(x,5)比较合适。
    4、在大于十本时(i本)分析可得与十本内时类似,当i%5!=3时,可以按照i除以5取整得a,a个5本再加上剩下的;当i%5=3时,则按照(a-1)个5本,剩下的分为(4,4),再进行求和。
    二、源代码
    #include<iostream.h>
    void main()
    {
        double b,sum;
        int a,i,c;
        cout<<"请输入要购买的本数:";
        cin>>i;
        if(i%5!=3)
        {
          a=i/5;
          b=30*a;
          c=i%5;
          if(c==0)
          {
             sum=b;
          }
          if(c==1)
          {
              sum=b+8;
          }
          else if(c==2)
          {
              sum=b+16*0.95;
          }
          else if(c==3)
          {
              sum=b+24*0.9;
          }
          else if(c==4)
          {
              sum=b+32*0.8;
          }
    
        }
        else if(i==3)
        {
            sum=24*0.9;
        }
        else if(i%5==3&&i!=3)
        {
          a=i/5;
          b=30*(a-1);
          c=i%5;
          sum=b+32*0.8*2;
        }
        cout<<"最低价格为:"<<sum<<endl;
    }

    三、结果截图

    四、实验总结
       本次实验是在课堂上构思出来的,通过此次实验我首先的感悟是动手很重要,因为此次题目很难一眼看见规律,所以一直看的话是很难下手的。在老师的提醒下,很快发现需要考虑的只有6、7、8、9四种情况,再大的话情况是类似的,通过计算很快发现只有在8时与其他情况不同,所以只需通过判断语句在余数为三时做出不同的计算即可。
  • 相关阅读:
    字符编码笔记:ASCII,Unicode 和 UTF-8
    nginx 负载均衡设置
    ubuntu 修改时区
    js 高阶函数 filter
    js 高阶函数 map reduce
    省市联级菜单--js+html
    php代码优化技巧
    json、xml ---- 数据格式生成类
    初识设计模式(1)---单例、工厂、注册树
    php 链式操作的实现 学习记录
  • 原文地址:https://www.cnblogs.com/gaoyang110/p/4425852.html
Copyright © 2011-2022 走看看