• 最低价买书


    设计思想:先列举出买从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不是很熟悉,所以想加强我不熟悉的方面。

  • 相关阅读:
    「from CommonAnts」寻找 LCM
    P3380 二逼平衡树 [树状数组套可持久化主席树]
    [模板]二次剩余(无讲解)
    [校内训练19_09_10]sort
    [校内训练19_09_06]排序
    [校内训练19_09_06]直径
    [校内训练19_09_05]ca
    [校内训练19_09_02]不同的缩写
    [校内训练19_09_03]c Huge Counting
    [校内训练19_09_02]C
  • 原文地址:https://www.cnblogs.com/qinxian0/p/5546235.html
Copyright © 2020-2023  润新知