如何购书最便宜

it2022-05-05  130

 

实验题目:

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

                               本数                  折扣

                                 2                       5%

                                 3                       10%

                                 4                       20%

                                 5                       25%

   

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

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

实验思路:

通过计算 算出1~10本分别的价钱,因为10本以上的本书可以分别对应6~10本,例如 11本与6本是等价的,17与7本事等价。。。计算的规则在于把本数n mod  5 =k,然后再对应k+5

即可,最后得出的结果如下所示

  购买本数(本)     1        2        3         4        5       6        7        8       9       10

  价钱(元)           8     15.2    21.6    25.6     30     38    45.2    51.2   55.6     60

 

实验代码:

#include "stdafx.h" #include "iostream" using namespace std; int main() { int b;//定义购买的书籍数 int m,n; int i; double sum=0; cout<<"请输入需要购买的书籍数:"<<endl; cin>>b; m=b/5; n=b%5; i=n+5; if(i!=8) { switch(n) { case 0: sum=m*40*0.75; break; case 1: sum=m*40*0.75+8; break; case 2: sum=m*40*0.75+16*0.95; break; case 3: sum=m*40*0.75+24*0.9; break; case 4: sum=m*40*0.75+32*0.8; break; } } else sum=(m-1)*30+4*8*0.8*2; cout<<"读者购买"<<b<<"本书的最低价格为:"<<endl; cout<<sum<<endl; return 0; }

实验心得:

这次的实验其实不难,难就难在要在有限的时间把它做出来,听老师讲这是微软的应聘题中的一道,要求应聘者在一个小时内编出代码,这道题目我和小伙伴在上课的时候思路就已经差不多出来,以前的心理还是没有调整过来,初老师给出题的时候很是抗拒,在老师的启发下发现这道题简单才开始做,这点要改。其他都还还好~

 

转载于:https://www.cnblogs.com/wantong/p/4428852.html


最新回复(0)