首页 > 技术文章 > 软件工程——买书折扣问题

d12138 2015-04-15 22:22 原文

1、题目

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

           本书       折扣

            2           5%

            3          10%

            4          15%

            5          20%

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

2、设计思路

根据题目总共可分以下三种情况考虑:

(1)五本以内,这种情况就是都买不一样,就能享受最大优惠

(2)六本到九本,分别计算得出相应最优结果

(3)十本以上,这类情况都可以规约到六到九本的情况

3、源代码

#include<iostream.h>
void main()
{
	int num;
	int a,b;
	cout<<"请输入买书的数量:";
	cin>>num;
    a=num/5;
	b=num%5;
	if(b!=3)
	{
		cout<<"应买"<<a<<"套5本的,加上"<<b<<"本不一样的,共"<<num<<"本书"<<endl;
	}
	else
	{
		cout<<"应买"<<a-1<<"套5本的,加上两套4本不一样的,共"<<num<<"本书"<<endl;
	}
	cout<<"这样就能享受最多的折扣!"<<endl;
}

 4、结果截图

推荐阅读