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

    一、题目要求

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

                                      本数                    折扣

                                       2                       5%

                                       3                       10%

                                       4                       20%

                                       5                       25%

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

    二、思路

      根据分析这个算法最核心的问题是解决6-9本书的购买方法。1-5本只要按一套买就能享受最大优惠。10本书以上时可化简为10本书以下的情况,如买11本和买6本是一样的。由计算得:

    6本时5+1,

    7本时5+2,

    8本时4+4

    9本时5+4

    是最优惠的。

    三、代码

     1 #include<iostream.h>
     2 void main()
     3 {
     4 while
     5     int i,num,money,j;
     6     cout<<"请输入买书数量:";
     7     cin>>num;
     8     i=num%5;
     9     j=num/5;
    10     switch(i)
    11     {
    12         case 0:
    13             money=j*30;
    14             break;
    15         case 1:
    16             money=j*30+8;
    17             break;
    18         case 2:
    19             money=j*30+2*8*0.95;
    20             break;
    21         case 3:
    22             if(j=0)
    23             {
    24                 money=3*8*0.9;
    25                 break;
    26             }
    27             else
    28             {
    29                 money=(j-1)*30+4*8*0.8*2;
    30                 break;
    31             }
    32         case 4:
    33             money=j*30+4*8*0.8;
    34             break;
    35     }
    36     cout<<"最低消费为"<<money<<"块钱"<<endl;
    37 }

    四、截图

    五、总结

      写这个程序前好好分析了一下他的算法,因此写起来思路很清晰,也很顺利,因此算法很重要。

  • 相关阅读:
    词频统计作业--第一次软工作业
    个人作业-《移山之道》读后感
    第一次作业
    个人阅读作业
    结对代码 互审意见
    电梯调度程序结对编程
    《代码大全2》阅读笔记
    Hibernate的事务处理机制和flush方法的用法
    dubbo&hsf&spring-cloud简单介绍
    Redis与Memcached的区别
  • 原文地址:https://www.cnblogs.com/zglsh/p/4429190.html
Copyright © 2011-2022 走看看