• 购买一批书的最低价格


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

                                     本数                     折扣

                                       2                       5%

                                       3                       10%

                                       4                       20%

                                       5                       25%

    根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
    设计算法能够计算出读者购买一批书的最低价格。
    思路:
    5本以下,购买不重样的是最低价格。
    5本以上,6本是买一套并单买1本。
    7本,买一套并买不重样的2本。
    8本为特殊情况,买两套四本的。
    9本为买一套并买不重样4本。
    10本为买两套。
    即买N本,特殊情况为5N+8
    其余均和5,6,7,9,10类似。
    代码:
     1 #include<iostream>
     2 using namespace std;
     3 
     4 void main()
     5 {
     6     int  a;
     7     cout << "购买书的数量:";
     8     cin >> a;
     9 
    10     int n;
    11     n = a % 5;
    12 
    13     switch (n)
    14     {
    15     case 0:
    16         cout << "最低价格为:" << (a - n) / 5 * (8 * 5)*0.75;
    17         break;
    18     case 1:
    19         cout << "最低价格为:" << (a - n) / 5 * (8 * 5)*0.75 + 8;
    20         break;
    21     case 2:
    22         cout << "最低价格为:" << (a - n) / 5 * (8 * 5)*0.75 + 15.2;
    23     case 3:
    24     {
    25               if (a == 3)
    26                   cout << "最低价格为:21.6";
    27               else
    28                   cout << "最低价格为:" << (a - 8) / 5 * (8 * 5)*0.75 + 51.2;
    29     }
    30               break;
    31     case 4:
    32         cout << "最低价格为:" << (a - n) / 5 * (8 * 5)*0.75 + 25.6;
    33         break;
    34 
    35     }
    36 }

    截图:

    总结:
    主要是理清这道题的思路,找到如何处理特殊情况的规律即可
  • 相关阅读:
    iscsi-分区类型
    NFS
    测试目录
    测试
    函数
    循环、枚举、条件判断、选择排序
    格式化、列表、元组、字典、集合
    常量、注释、变量、堆栈、数据类型、强制转换
    站点迁移至https://traceless.site/
    CENTOS7 源码安装NGINX
  • 原文地址:https://www.cnblogs.com/SanShaoS/p/4499107.html
Copyright © 2020-2023  润新知