zoukankan      html  css  js  c++  java
  • 微软买书问题

    1.算法思想

    先用枚举法把依次把每种情况从大到小写出来,结果就会发现到8的时候情况就发生变化,以10为1个轮回,除10取余。

    2.代码

    #include<iostream>
    using namespace std;
    #define N 100
    int n;
    void main()
    {
        cout << "请输入你要购买的书的数目:";
        cin >> n;
        int i,j;
        i = n % 10;
        j = (n - i) / 10;
        if (i == 8)
        {
            if (j == 0)
            {
                cout << "应该购买5卷中任意4卷,每卷" << 2 << "";
            }
            else
            {
                cout << "先买5种不同的卷各" << 2 * j << "本,再挑4种不同的卷每卷" << 2 << "";
            }
        
        }
        else if (i == 0)
        {
            cout << "应该购买5卷,每卷" << 2*j << "";
        }
        else if (i == 1)
        {
            if (j == 0)
            {
                cout << "应该购买5卷中任意1卷"<< 1 << "";
            }
            else
            {
                cout << "先买5种不同的卷各" << 2 * j << "本,再购买5卷中任意1卷" << 1 << "";
            }
        }
        else if (i == 2)
        {
            if (j == 0)
            {
                cout << "应该购买5卷中任意2卷每卷" << 1 << "";
            }
            else
            {
                cout << "先买5种不同的卷各" << 2 * j<< "本,再购买5卷中任意2卷每卷" << 1 << "";
            }
        }
        else if (i == 3)
        {
            if (j == 0)
            {
                cout << "应该购买5卷中任意3卷每卷" << 1 << "";
            }
            else
            {
                cout << "先买5种不同的卷各" << 2 * j << "本,再购买5卷中任意3卷每卷" << 1 << "";
            }
        }
        else if (i == 4)
        {
            if (j == 0)
            {
                cout << "应该购买5卷中任意4卷每卷" << 1 << "";
            }
            else
            {
                cout << "先买5种不同的卷各" << 2 * j << "本,再购买5卷中任意2卷每卷" << 1 << "";
            }
        }
        else if (i == 5)
        {
            if (j == 0)
            {
                cout << "应该购买5卷每卷" << 1 << "";
            }
            else
            {
                cout << "买5种不同的卷各" << 2 * j +1<< "";
            }
        }
        else if (i == 6)
        {
            if (j == 0)
            {
                cout << "应该购买5卷每卷" << 1 << "本,再任意购买1卷1本";
            }
            else
            {
                cout << "先买5种不同的卷各" << 2 * j +1<< "本,再任意购买1卷1本";
            }
        }
        else if (i == 7)
        {
            if (j == 0)
            {
                cout << "应该购买5卷每卷" << 1 << "本,再任意购买2卷每卷1本";
            }
            else
            {
                cout << "先买5种不同的卷各" << 2 * j + 1 << "本,再任意购买2卷每卷1本";
            }
        }
        else if (i == 9)
        {
            if (j == 0)
            {
                cout << "应该购买5卷每卷" << 1 << "本,再任意购买4卷每卷1本";
            }
            else
            {
                cout << "先买5种不同的卷各" << 2 * j + 1 << "本,再任意购买4卷每卷1本";
            }
        }
    }

    3.程序截图

  • 相关阅读:
    例6-5
    例7-1+7-2
    例6-2+6-3
    习题二(3)
    习题二(1)
    课堂作业4
    课堂作业3
    实验三 利用循环计算n个圆柱体体积。
    实验三 编写求圆面积的程序,要求当输入的半径r<=0时,提示输入错误,要求r为浮点型,r的数值是动态的由键盘输入;
    心得3
  • 原文地址:https://www.cnblogs.com/wanzitou/p/5557355.html
Copyright © 2011-2022 走看看