欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

课堂作业之买书问题

程序员文章站 2022-03-09 16:05:02
...

1.问题

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

                                 本数                    折扣                                   

                                  2                       5%                                   

                                  3                       10%                                   

                                  4                       20%                                   

                                  5                       25%

       根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。请设计算法能够计算出读者购买一批书的最低价格。

2.设计思路:

  对于买5本以下的书,则按成套买(即一卷买一本)最便宜;而对于5本到10本的话,除了8本书以外,其余的都买一套后,再买一套不全的(如9本,就买5本加4本)最便宜。

对于8本,则是买两套4本的最便宜;对于10本以上,则按5到10本来买,如11=5+6,13=5+8,20=5+5+5+5.

3.代码

#include<iostream>
using namespace std;
void main ()
{
	int x,a;
	double y;
	cout<<"输入要买购买的书数";
	cin>>x;
		if(x%5==0)
			{	
				y=(x/5*40*0.75);
			}
		else if(x%5==1)
			{
				y=(x/5*40*0.75+8);
			}
		else if(x%5==2)
			{
				y=(x/5*40*0.75+16*0.95);
			}
		 else if(x%5==3&&x!=3)
			{
				y=(x/5-1)*40*0.75+32*0.8*2;
			}
		else if(x%5==3&&x==3)
			{
				y=24*0.9;
			}
		else if(x%5==4)
			{
				y=(x/5*40*0.75+32*0.8);
			}
		cout<<y;
		




	
		
	
}

 4.截图: 

课堂作业之买书问题

5.总结

  这道题需要仔细列举,发现规律,发现规律之后理清思路。编写出程序并不算难。