zoukankan      html  css  js  c++  java
  • 课堂实验--购书最低价实验

                                                                                              课堂实验--购书最低价实验

    一、设计思想

         本次实验是要计算出购买一批图书的最低价格,当选取不同类型的图书时购买者可以享受折扣,并且根据购买者买的图书种类的数目可以分为四档折扣,本数为2,3,4,5时的折扣分别为5%,10%,20%,25%。

         本次题目的解题核心是找到最低价的规律,并且这个规律在每十本书中循环一次,在这十本书中除了八本书时享受20%的优惠以外,其它的都遵循优先享受25%优惠的规律,因此在计算最终价格时,只要将10的倍数的书和剩余的书分开来计算价格就可以了。

    二、代码实现

    //Hao Ying 2016/6/2
    //购书最低价实验
    #include<iostream>
    using namespace std;
    int main()
    {
        int i,number,a,b;
        double price;
        cout<<"请输入书本数:";
        cin>>number;
        a=number/10;
        b=number%10;
        if(b==0)
        {
            price=2*a*8*0.25;
        }
        else if(b>0&&b<9&&b!=8)
        {
            if(b%5==0)
            {
                price=10*a*8*0.25+(b/5)*5*8*0.25+(b%5)*8*0.25;
            }
            else if(b%5==1)
            {
                price=10*a*8*0.25+(b/5)*5*8*0.25+(b%5)*8;
            }
            else if(b%5==2)
            {
                price=10*a*8*0.25+(b/5)*5*8*0.25+2*8*0.05;
            }
            else if(b%5==3)
            {
                price=10*a*8*0.25+(b/5)*5*8*0.25+3*8*0.1;
            }
            else if(b%5==4)
            {
                price=10*a*8*0.25+(b/5)*5*8*0.25+4*8*0.2;
            }
        }
        else if(b==8)
        {
            price=10*a*8*0.25+8*8*0.2;
        }
        cout<<"读者购买这批书的最低价格为:"<<price;
        cout<<endl;
        return 0;
    }

    三、实现截图

         当书本数为1-10时的最低价格:

         当书本数为338时的最第价格为:

    四、个人总结

        通过这次的实验我觉得主要还是锻炼了设计思路,其实一开始把题目想的简单了,比如8本书就只想到了5和3的组合,并没有想到4和4或者其他的组合,当再深入思考的时候,考虑到了在书本数一定的情况下有很多种组合方式,于是不知道如何从这些情况下找到花销最小的那个,在老师的提示下,试着先从一本开始找规律,果然,他的最低价是有规律可言的,只有在8本的倍数时出现特例,并且每十本都可以享受25%的折扣,只要考虑除去十本之外多余的书本的情况就可以了。在这次实验中收获的是一种数学方法,它告诉我们在解决一个问题之前要先找到最佳的方法,这样可以避免做很多的无用功,也可以提高我们解决问题的效率,在遇到问题时多动笔多动脑是解决问题的最好途径!这次实验使我受益匪浅,之后的实验中我一定会更加努力去完成的!

  • 相关阅读:
    从浏览器输入URL到页面渲染的过程
    安全分析的几个好的工具网站的使用
    从一次渗透谈到linux如何反弹shell
    python 进行抓包嗅探
    MYSQL的索引和常见函数
    一篇博客搞定redis基础
    新型横向移动工具原理分析、代码分析、优缺点以及检测方案
    Java反序列化漏洞的挖掘、攻击与防御
    关于Memcached反射型DRDoS攻击分析
    spark未授权RCE漏洞
  • 原文地址:https://www.cnblogs.com/haoying1994/p/5553272.html
Copyright © 2011-2022 走看看