在节假日的时候,书店一般都会做促销活动。由于《哈利波特》系列相当畅销,店长决定通过促销活动来回馈读者。在销售的《哈利波特》平装本系列中,一共 有五 卷,用编号0, 1, 2, 3, 4来表示。假设每一卷单独销售均需要8欧元。如果读者一次购买不同的两卷,就可以扣除5%的费用,三卷则更多。假设具体折扣的情况如下:
本数 折扣
2 5%
3 10%
4 20%
5 25%
在一份订单中,根据购买的卷数以及本书,就会出现可以应用不同折扣规则的情况。但是,一本书只会应用一个折扣规则。比如,读者一共买了两本卷一, 一本卷二。那么,可以享受到5%的折扣。另外一本卷一则不能享受折扣。如果有多种折扣,希望能够计算出的总额尽可能的低。要求根据这样的需求,设计出算 法,能够计算出读者所购买一批书的最低价格。
代码:
#include<iostream> using namespace std; int main() { int num; float a,b; cout<<"请输入要购买书的数目:"<<endl; cin>>num; int x=num/10; int y=num%10; a=60*x; switch(y) { case 0:b=0; break; case 1:b=8; break; case 2:b=15.2; break; case 3:b=21.6; break; case 4:b=25.6; break; case 5:b=30; break; case 6:b=38; break; case 7:b=45.2; break; case 8:b=51.2; break; case 9:b=55.6; break; } cout<<"总价是:"<<a+b<<endl; return 0; }
运行结果截图: