购书方案

一、思路

购买书总共有十种方案,每一种方案单独考虑。因此只需要分情况考虑就行。

二、代码

  

//书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
//                                 本数                      折扣
//                                   2                        5%
//                                   3                       10%
//                                   4                       20%
//                                   5                       25%
//信1301-1 黄山成 20133048
#include<iostream>
using namespace std;

void book_Strategy(int n)
{

    int option;
    option=n%10;//总共有10种购书方法
    double volume=n/5;//购买书的卷数
    int other_Books=n%5;//剩余的书的个数
    double money;

    switch(option)
    {
    case 0:money=40*volume*0.75;
        break;
    case 1:money=40*volume*0.75+8;
        break;
    case 2:money=40*volume*0.75+8*2*0.95;
        break;
    case 3:money=40*volume*0.75+8*3*0.9;
        break;
    case 4:money=40*volume*0.75+8*4*0.8;
        break;
    case 5:money=40*volume*0.75;
        break;
    case 6:money=40*volume*0.75+8;
        break;
    case 7:money=40*volume*0.75+8*2*0.95;
        break;
    case 8:money=40*(volume-1)*0.75+8*4*0.8*2;
        break;
    case 9:money=40*volume*0.75+8*4*0.8;
        break;
    }
    if(option!=8)
    {
        cout<<"购书方案: "<<volume<<"套全书"<<"和"<<other_Books<<"卷书"<<endl;
    }
    else
    {
        cout<<"购书方案: "<<volume-1<<"套全书"<<"和两套4卷书"<<endl;
    }
    cout<<"价格为:"<<money<<"元";

}
void main()
{
    double m;
    cout<<"输入购书数量:";
    cin>>m;
    while(m<0||(m!=(int)m))
    {
        cout<<"购书数量错误,请重新输入";
        cin>>m;
    }

     cout<<"购买"<<m<<"本书的";
     book_Strategy(m);

}

三、截图

四、总结

这道题的根本是找出规律,如果发现不了规律就很难完成。

时间: 2024-12-03 09:11:07

购书方案的相关文章

《最优的购书方案》

问题描述:对编号不同的五本书进行购买,其中单买一本8元,买不同编号的两本书享受5%的折扣,不同编号的三本书享受10%的折扣,不同编号的四本书享受20%的折扣,不同编号的五本书享受25%的折扣,注意买同种编号的书不享受折扣优惠:根据顾客提供的买书量,为顾客设计最优的购书方案,以便以最低的价格买到想要的数量. 设计思想:通过对买10本书以内的方案设计后,得出其最优方案的规律是除了买8本是例外之外,其余的最优方案均是买全套书的整数倍再加上另单独购买买书量对整套书的本数求余后所得余数组合后即可. 源代码

软件工程课堂训练————最便宜购书方案

一·实验题目: 某书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元,具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两

购书打折最优方案

题目:书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣                                   2                       5%                                   3                       10%                                   4    

购书思想课堂作业4.14

1.题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% n根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本

最优惠的购书价格程序设计

一.设计思路       题目要求: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                                  本数                     折扣 2                       5% 3                       10% 4                       20% 5                       25%

买书实验

实验题目: . 设计思路: 这次的实验是目前做过最简单的,重点在于把特殊情况找出来,一开始简单的以为只要和五本组合就可以了,除五取余取整就可以了,后来经过课堂上的计算才知道重点在8,所以除10取余取整就可以了. 实验代码: #include<iostream> using namespace std; int main() { int num; cout<<"请输入购买书的数量:"; cin>>num; double money=0.0; doubl

购书最便宜的方案

#include <iostream> using namespace std; void LowestPrice(int n){ double lowprice = 0; int p ,q; p = n/10; q = n%10; switch(q){ case 0:lowprice = p*20;break; case 1:lowprice = p*20+8;break; case 2:lowprice = p*20+8*2*0.95;break; case 3:lowprice = p*

课堂练习-购书问题

题目: • 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元. 具体折扣如下所示: 本数 折扣 2  5% 3     10% 4     20% 5     25% • 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠. • 设计算法能够计算出读者购买一批书的最低价格. 设计思路: 当购书数量在1-5本时,按最高折扣即可. 当购书数量在

MySQL分库分表方案

1. MySQL分库分表方案 1.1. 问题: 1.2. 回答: 1.2.1. 最好的切分MySQL的方式就是:除非万不得已,否则不要去干它. 1.2.2. 你的SQL语句不再是声明式的(declarative) 1.2.3. 你招致了大量的网络延时 1.2.4. 你失去了SQL的许多强大能力 1.2.5. MySQL没有API保证异步查询返回顺序结果 1.2.6. 总结 MySQL分库分表方案 翻译一个stackoverflow上的问答,关于分库分表的缺点的,原文链接: MySQL shard