您的位置:首页 > 其它

课堂作业----一批书的最低价格

2016-06-03 14:43 423 查看
购买一批书的最低价格

题目:
书店针对《哈利波特》系列书籍进行促销活动,一共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本为买两套。
即买m本,特殊情况为8,13,18......5n+8...(n=0,1,2.....)
其余均和5,6,7,9,10类似。
实验源代码:

#include<iostream>
using namespace std;

int main()
{
int x=0,y=0;             //书的数目,余数
double money;            //金额
cout<<"请输入图书的数量:";
cin>>x;

y=x%5;
if(y==0)
money=(x/5)*(5*8)*0.75;
else if(y==1)
money=(x-y)/5*(5*8)*0.75+y*8;
else if(y==2)
money=(x-y)/5*(5*8)*0.75+y*8*0.95;
else if(y==3)
{
if(x==3)
money=21.6;
else
money=(x-8)/5*(5*8)*0.75+51.2;
}
else
money=(x-y)/5*(5*8)*0.75+y*8*0.8;
cout<<"最低价格是:"<<money<<endl;
return 0;
}


实验截图:







心得体会:

把每种情况都列出来,找到其中规律,用表达式表示出来即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: