课堂练习:购买促销书籍问题

题目

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

            本数                  折扣

2                       5%

3                       10%

4                       20%

5                       25%

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

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

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

设计思想

根据折扣和买书数量可以知道:当买书量大于10本时,将数量进行求余,算出当买6、7、8、9本书时的最小价格,其余能够被5整除的直接用买5套的折扣价即为最优方案。

源代码

#include<iostream>
using namespace std;
float priceLowest;
void f(int bookNum)
{
	int N;
	N=bookNum%5;
	switch(N)
	{
		case 0:
			priceLowest=bookNum*8*0.75;
			break;
		case 1:
			priceLowest=(bookNum-N)*8*0.75+8;
			break;
		case 2:
			priceLowest=(bookNum-N)*8*0.75+2*8*0.95;
			break;
		case 3:
			priceLowest=(bookNum-N)*8*0.75+4*8*0.8*2-5*8*0.75;
			if(bookNum<5)
			{
				priceLowest+=0.4;
			}
			break;
		case 4:
			priceLowest=(bookNum-N)*8*0.75+4*8*0.8;
			break;
		default:
			cout<<"Error!"<<endl;

	}
}
void main()
{
	int q=0;
	while(q==0)
	{
		int bookNum;
		cout<<"请输入购买数量:";
		cin>>bookNum;
		f(bookNum);
		cout<<"最低价格为:"<<priceLowest<<endl;
		cout<<"是否继续测试?(输入0继续)";
		cin>>q;
	}
}

  

程序截图

实验总结

这次实验的主要面临的问题就是购买6-9本书和购买11-14本书是否进行%5求余的问题,解决了这个问题就基本可以写出复杂程度较低的算法来了

时间: 2024-10-28 20:59:57

课堂练习:购买促销书籍问题的相关文章

课堂练习-促销书

题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,

购买《哈利波特》书籍问题

一.题目要求 书店针对<哈里波特>系列书籍促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷价格为8元,具体的优惠信息如下: 本数               折扣 2                   5% 3                  10% 4                  20% 5                  25% 根据购买的卷数,享受相应的优惠,由此设计程序能够购买一批书以其最低价格. 二.设计思路 已有的五本书之内的优惠,已经在表中详细列出了,购买6

课堂练习——计算法能够计算出读者购买一批书的最低价格。

1.题目. 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示, 单独一卷售价8元, 具体折扣如下所示:                          本数                  折扣                          2                       5%                          3                       10%                          4  

如何购买一批书使其最低价格

题目要求: 某书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元,具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷

Web前端开发推荐阅读书籍、学习课程下载

转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学习和跟着有经验的同事学习,读书也是必不可少的.书中有着相对完整的知识体系,每读一本好书都会带来一次全面的提高. 而如果深一脚浅一脚的学习,写出代码的质量会参差不齐.初学者的首要任务是成为靠谱的熟练开发者,能够稳定的输出有一定质量的代码. 前端技术发展速度特别快,总是涌现出很多新的东西,需要不断的学习

软件工程课堂训练————最便宜购书方案

一·实验题目: 某书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元,具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两

SDN你必须知道的十大问题——SDN书籍有哪些?

近日,自己开始着手从事SDN研发,相关的知识有一大堆,诸如OpenFlow等,不得不说网络的基础知识是必备的,但是对于新手来说要从茫茫大海一般的知识点中找准方向的确有点困难,因此自己从网上收集了一些具有方向导向性的书籍供大家一起参考 申明:本文转载自:http://www.sdnlab.com/8397.html "腹有诗书气自华",无论是技术技能修炼还是技术修养升华,阅读书籍无疑是一个系统提升"便捷"方式.作为在近些年火热炒作的新兴技术,SDN的发展也不负众望,2

《淘宝技术这十年》读书笔记 (一).淘宝网技术简介及来源

我似乎是2007年初中看<赢在中国>的时候喜欢上马云的,当时对电脑都不是很了解,更别提阿里巴巴和淘宝网了.但当时还是被马云的几句点评深深地吸引,其中我印象最深的一句话就是"短暂的激情是不值钱的,只有长久的激情才是值钱的",以至于我在本科毕业德育答辩时用的题目就是这句话(德育答辩开题我用的题目也是马云的<If not now,when? If not me,who?>其含义是如果不是现在努力,什么时候努力呢?如果不是为了自己奋斗,又是为谁奋斗呢?).的确,想做成任

亚马逊——不一样的电商公司

其一: 电商公司就是电子商务公司.电子商务通俗的说就是利用电子工具进行各种商务活动,如网上购物.在线电子支付等.可以说电子商务是传统商业活动的电子化和网络化.离我们最近的就是网购了,通常我们会在淘宝.天猫.聚美优品.亚马逊等购物平台上购买东西,他们已然成为了我们生活的一部分.但我们不曾留意,他们分别代表着不同的电商公司,拥有不同的理念与策略.下面我们将通过与淘宝的对比,谈一下与众不同的电商公司亚马逊公司. 亚马逊公司,是美国最大的一家网络电子商务公司,于2004年进入中国.再他的发展史上有三次定