zoukankan      html  css  js  c++  java
  • 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、实验心得

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

          

  • 相关阅读:
    ubuntu下ssh服务相关操作
    搜索引擎的基础-倒排索引
    mysql重置密码
    mysql 服务器配置
    Activiti如何替换已部署流程图
    循环select查询结果集
    存储过程范例,有输入输出参数,带回滚
    sql server中字符串无法替换空格的问题
    Myeclipse实用快捷键总结
    Linux中添加用户与删除用户
  • 原文地址:https://www.cnblogs.com/yue3475975/p/4429814.html
Copyright © 2011-2022 走看看