标签:
一、题目要求
书店针对《哈里波特》系列书籍促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷价格为8元,具体的优惠信息如下:
本数 折扣
2 5%
3 10%
4 20%
5 25%
根据购买的卷数,享受相应的优惠,由此设计程序能够购买一批书以其最低价格。
二、设计思路
已有的五本书之内的优惠,已经在表中详细列出了,购买6到9本数量的书籍时,如果其中五本享受25%的优惠时,我们剩下查表找到其中的相应的优惠信息,即其中存在组合形式,使购买的书籍的价格最低。
三、代码
1 #include<iostream.h> 2 void main() 3 { 4 int num;//本数 5 int record;//商 6 int remainder;//余数 7 double price; 8 int n=1; 9 while(n) 10 { 11 cout<<"请输入您买书的本数:"<<endl; 12 cin>>num; 13 record=num/5; 14 remainder=num%5; 15 if(record>=2) 16 { 17 record--; 18 remainder=remainder+5; 19 } 20 if(num<=5) 21 { 22 switch(num) 23 { 24 case 0: 25 price=0; 26 break; 27 case 1: 28 price=8; 29 break; 30 case 2: 31 price=16*(1-0.05); 32 break; 33 case 3: 34 price=24*(1-0.1); 35 break; 36 case 4: 37 price=32*(1-0.2); 38 break; 39 case 5: 40 price=40*(1-0.25); 41 break; 42 default: 43 break; 44 } 45 } 46 else 47 { 48 switch(remainder) 49 { 50 case 5: 51 price=record*40*(1-0.25)+40*(1-0.25); 52 break; 53 case 6: 54 price=record*40*(1-0.25)+40*(1-0.25)+8; 55 break; 56 case 7: 57 price=record*40*(1-0.25)+40*(1-0.2)+16*(1-0.05); 58 break; 59 case 8: 60 price=record*40*(1-0.25)+32*(1-0.2)*2; 61 break; 62 case 9: 63 price=record*40*(1-0.25)+40*(1-0.25)+32*(1-0.2); 64 break; 65 default: 66 break; 67 } 68 } 69 cout<<"购买"<<num<<"本书的最低价格是:"<<price<<"元"<<endl; 70 cout<<"继续输入1,退出输入0"<<endl; 71 cin>>n; 72 } 73 }
四、运行结果
标签:
原文地址:http://www.cnblogs.com/zZ-ily/p/4430460.html