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,7,8,9本书时,需要把这些情况的最小花费算出来,结果得知,除了8,其他的情况都是有5本的便宜,买8本的时候,4,4分比较划算。所以8是一个特别的地方。一般规律是,书的数量除以5取余,可以得出余数,进而得到余数与花费的关系,只需一个switch函数就行。

    三、代码

     1 #include<iostream.h> 
     2 int main() 
     3 { 
     4     double sum; 
     5     sum=1; 
     6       
     7     int num,m; 
     8       
     9     cout<<"请输入购买数量"; 
    10     cin>>num; 
    11     m=num%5; 
    12     m=m+5; 
    13     switch(m) 
    14     { 
    15       
    16         case 5: 
    17             sum=num*8*0.75; 
    18             break; 
    19         case 6: 
    20             sum=(num-1)*8*0.75+8; 
    21             break; 
    22         case 7: 
    23             sum=(num-2)*8*0.75+8*2*0.95; 
    24             break; 
    25         case 8: 
    26             sum=(num-8)*8*0.75+4*8*0.8*2; 
    27             break; 
    28         case 9: 
    29             sum=(num-4)*8*0.75+8*4*0.8;     
    30             break; 
    31         } 
    32     cout<<"最优惠价格"<<sum<<endl; 
    33 } 

     四、实验截图

    五、实验总结

     由于先前考虑不周,造成程序输出不对,原因是8的情况,以及所有余数为三的情况。后来经过改进,把求余结果与5相加,问题迎刃而解。总结下,就是把所有三的情况变成8

    ,这样,8可以分成4.4就完全统一起来了。

    经验总结,遇到问题,尤其是类似数学问题,先代数算算,过一遍程序,再总结错误,得出一致的结论与规律。

  • 相关阅读:
    对于JavaScript中this关键字的理解
    使用DOM对表格进行增删
    sql server 存储过程
    sql sever 基础 练习题
    sql sever 基础 建表
    第十章 嵌入式的Linux调试技术
    第九章 硬件抽象层 HAL
    第八章 蜂鸣器驱动
    LED:控制发光二极管
    第一个Linux驱动程序:统计单词个数
  • 原文地址:https://www.cnblogs.com/zhangyao999/p/5544818.html
Copyright © 2011-2022 走看看