zoukankan      html  css  js  c++  java
  • 课堂练习——书店折扣问题

    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.设计思想

        首先,能够确定的是5本一下的购买数量,买不同卷的书是最便宜的;

        然后,大于5本的需要分两种情况

              第一种:6~9本,他们需要考虑每个数量下,购买最便宜,例如:6本需要在1,5分,2,6分,3,3分找到最便宜的,其他的如上。

              第二种:大于9本的,举个例子,21本,分成5,5,5,6。就是前几个是5,最后一个是一个6-9的本数,根据上面的情况就可以简单求出这种情况的最大折扣了。

    4.代码实现

    #include<iostream.h>
    int main()
    {
     int i,d;
     double a[200];        //书本类型
     a[1]=8;
     a[2]=8*2*(1-0.05);
     a[3]=8*3*(1-0.10);
     a[4]=8*4*(1-0.20);
     a[5]=8*5*(1-0.25);
     do{
      
      cout<<"请输入买书本的数:";
      int num;
      
      cin>>num;
      
     
       double max[10];
       max[1]=a[1]+a[5];
       max[2]=a[2]+a[4];
       max[3]=a[3]+a[3];
       a[6]=max[1];
       for(i=1;i<4;i++)
       {
        if(a[6]<max[i])
        {
         a[6]=max[i];
        }
       }
      
     
       double max4=a[2]+a[5];
       double max5=a[3]+a[4];
       a[7]=(max4>max5)?max5:max4;
      
       double max6=a[3]+a[5];
       double max7=a[4]*2;
       a[8]=(max6>max7)?max7:max6;
      
     
       a[9]=a[4]+a[5];
      
      if(num>9)
      {
       int b=(num/5)-1;
       int m=5+num%5;

       a[num]=b*a[5]+a[m];
       
      
      }

      cout<<"买这些书一共需花费:"<<a[num]<<"元!"<<endl;
      cout<<"如果需要计算其他数量的价格请输1,否则0:";
      cin>>d;
      cout<<endl;
     }while(d==1);
     
     return 0;
    }
     
     5结果截图

     

    6.个人总结

        其实知道运算原理了,编写程序使很简单的,所以在编程中,思想是很重要的一部分,这让我想到以前老师教我们语言,大多数的情况下是强调“要学会思想”。编程入门是学会怎么使用这门语言,再者就是能够把思想编写到程序中去把。

  • 相关阅读:
    团队项目 第一次作业
    20165215 实验三 敏捷开发与XP实践
    20165215 2017-2018-2 《Java程序设计》第九周学习总结
    20165204 20165216 20165220 实验一开发化境的熟悉
    20165220 缓冲区溢出漏洞实验
    20165220 《信息安全系统设计基础》第二周学习总结
    2018-2019 信息安全系统设计基础 第一周总结
    20165220 2017-2018-2《Java程序设计》课程总结
    20165220 实验五 网络编程与安全
    20165220Java实验四 Android程序设计
  • 原文地址:https://www.cnblogs.com/bmbcbyc/p/4426045.html
Copyright © 2011-2022 走看看