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


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

    一、设计思想

         本次实验是要计算出购买一批图书的最低价格,当选取不同类型的图书时购买者可以享受折扣,并且根据购买者买的图书种类的数目可以分为四档折扣,本数为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%的折扣,只要考虑除去十本之外多余的书本的情况就可以了。在这次实验中收获的是一种数学方法,它告诉我们在解决一个问题之前要先找到最佳的方法,这样可以避免做很多的无用功,也可以提高我们解决问题的效率,在遇到问题时多动笔多动脑是解决问题的最好途径!这次实验使我受益匪浅,之后的实验中我一定会更加努力去完成的!

  • 相关阅读:
    jsp 生成验证码代码
    成为Java顶尖程序员 ,看这11本书就够了
    自动清除浏览器缓存-Cache Killer
    移动端-ios-上拉加载卡顿
    移动端-ios-点击阴影去除
    转--Android开发实践:使用Service还是Thread
    Android入门:Handler简介与实例
    Spring事务的隔离级别
    ThreadLocal的内存泄漏问题
    Spring 使用注解方式进行事务
  • 原文地址:https://www.cnblogs.com/haoying1994/p/5553272.html
Copyright © 2020-2023  润新知