最优惠购买书籍

1. 题目:

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

本数 折扣 2    5%

             3    10%

             4    20%

             5    25%

      根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。

      设计算法能够计算出读者购买一批书的最低价格。

      要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。

2. 设计思想:

如果购买的书籍少于五本则卖的种类越多折扣越大,大于五本时就得考虑,如果买6本怎相当于5+1,买7本相当于5+2,但是买8本则是5+3共花51.6元,4+4共花51.2,则4+4更便宜,买9本相当于5+4,买10本相当于5+5.撤了买8以外怎都有规律。特别注意买的最后能组成8本的情况。

#include<iostream>
using namespace std;

void main()
{
	int m;
	cout<<"请输入要购买书籍的数量:";
	cin>>m;
	int a,b;
	double s;
	//以5个为一轮
	b=m%5;    //取余
	a=m/5;    //取商
	switch(b)
	{
	case 0:s=30*a;break;
	case 1:s=30*a+8;break;
	case 2:s=30*a+15.2;break;
	case 3:if(a==0)                //卖的书籍数量少于5的时候为特殊情况
		   {
			   s=21.6;
		   }
		   else
		   {
			   s=(a-1)*30+51.2;
		   }
		   break;
	case 4:s=30*a+25.6;break;
	}
	cout<<"最低花费为:"<<s<<endl;
}

 4.截图

5.总结

整体来说这个程序就是考察细节问题,通过规律可以实现。加强了自己的思维考察能力。

原文地址:https://www.cnblogs.com/dyc940210/p/4501925.html