zoukankan      html  css  js  c++  java
  • 最低价买书

    设计思想:先列举出买从1~10本时最低价的搭配方法,找到规律;1~5本就是买不同的卷最低价,6本时是5+1;7本时是5+2;9本时是5+4;10本时是5+5;但在第八本时是4+4本;由此可以用要买的书的数量除8看余数。

    代码实现:

    #include<iostream>
    using namespace std;
    void main()
    {
        int num,n,m;
        cout << "请输入要买的书的数量:" << endl;
        cin >> num;
        n = num / 10;
        m = num % 10;
        switch (m)
        {
        case 0:
            cout << "应该买" << 2 * n << "套不同的5卷" << "最低价为" << 2 * n * 30<< endl;
            break;
        case 1: 
            cout << "应该买" << 2 * n << "套不同的5卷和一套不同的1卷" << "最低价为" << 2 * n * 30 + 8 << endl; break;
        case 2: 
            cout << "应该买" << 2 * n << "套不同的5卷和一套不同的2卷" << "最低价为" << 2 * n * 30 + 15.2 << endl; break;
        case 3:
            cout << "应该买" << 2 * n << "套不同的5卷和一套不同的3卷" << "最低价为" << 2 * n * 30 + 21.6 << endl; break;
        case 4:
            cout << "应该买" << 2 * n << "套不同的5卷和一套不同的4卷" << "最低价为" << 2 * n * 30 + 25.6 << endl; break;
        case 5:
            cout << "应该买" << 2 * n + 1 << "套不同的5卷" << "最低价为" << (2 * n + 1) * 30 << endl; break;
        case 6:
            cout << "应该买" << 2 * n + 1 << "套不同的5卷和一套不同的1卷" << "最低价为" << (2 * n + 1) * 30 + 8 << endl; break;
        case 7:
            cout << "应该买" << 2 * n + 1 << "套不同的5卷和一套不同的2卷" << "最低价为" << (2 * n + 1) * 30 + 15.2 << endl; break;
        case 9:
            cout << "应该买" << 2 * n + 1 << "套不同的5卷和一套不同的4卷" << "最低价为" << (2 * n + 1) * 30 + 25.6 << endl; break;
        case 8:
            cout << "应该买" << 2 * n << "套不同的5卷和2套不同的4卷" << "最低价为:" << 2 * n * 30 + 51.2 << endl; break;
        }
    }

    实验截图:

    实验总结:这次程序也可以用if else语句。但我选择了switch case语句,原因的我对switch不是很熟悉,所以想加强我不熟悉的方面。

  • 相关阅读:
    编写代码实现图片懒加载
    原型链
    算法问题:获取字符串中,不重复的且最长字符串的长度
    ES6 的 Set 方法
    Vue 的生命周期
    关于 Web 前端的各种优化
    JS 排序算法,冒泡排序,插入排序,选择排序,归并排序,sort排序
    web 的 XSS 和 CSRF 攻击
    TCP 的三次握手和四次挥手
    理解 四种清除浮动的方法
  • 原文地址:https://www.cnblogs.com/qinxian0/p/5546235.html
Copyright © 2011-2022 走看看