2015/4/14课堂练习

1.设计题目

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

    2                       5%                                   

    3                       10%                                   

    4                       20%                                   

    5                       25%

2.设计要求

     根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。      设计算法能够计算出读者购买一批书的最低价格。 要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。(截止日期2015-4-15晚18:00)

3、设计思路

     由题目能够看出来,1-5本书的时候是很简单的,关键是大于5本书的情况,

                 6本:5.1   4.2   3.3

      7本:5.2   4.3    

      8本:5.3   4.4

      9本:5.4   (很显然,再分成三组只会增大花销)

      10本:5.5

      11本:5.5.1  ~~~

      >10的时候可以分成5n+(6~9)的数

3、源代码

#include<iostream.h>
int main()
{
   double sum;
     sum=0;
       int i,j;
       cout<<"请输入要购买本数(请输入大于0的整数):";
       cin>>i;
       if(i<0)
       {
         cout<<"        错误"<<endl;
       cout<<"请重新输入本数(请输入大于0的整数):";
       cin>>i;
   }
   if(i<5)
   {
      switch(i)
          {           
              case 1:
                   sum = 8;
                   break;
               case 2:
                   sum = 8*2*0.95;
                   break;
                case 3:
                   sum = 8*3*0.9;
                   break;
                case 4:
                   sum = 8*4*0.8;
                   break;
                case 5:
                   sum = 8*5*0.75;
                   break;
          }
   }
   else(j=i%5);
   switch(j)
     {
          case 0:
              sum=i*8*0.75;
              break;
          case 1:
              sum=(i-1)*8*0.75+8;
              break;
          case 2:
              sum=(i-2)*8*0.75+15.2;
              break;
          case 3:
              sum=(i-8)*8*0.75+51.2;
              break;
          case 4:
              sum=(i-4)*8*0.75+25.6;  
              break;
   }
   cout<<"最低价格:"<<sum<<endl;
   return 0;
}

4、实验结果截图

5、实验心得

    由于家里有事,这次课没上,导致我拿到这个题目的时候,硬是看了一个小时,一点思路没有,完全不知道题目在说什么,更不用说有想法去解决了,最后还是问的舍友题目的意思,才有了思路,有思路后到感觉这个题目也不难,就是在于理解,找到着手点,知道从哪下手,小到个程序,大到一个程序都需要一步一步去做。

      

原文地址:https://www.cnblogs.com/yue3475975/p/4429814.html