C ++。嵌套循环框形状增量

时间:2015-10-08 05:44:27

标签: c++ loops nested shapes box

我目前很难增加盒子形状。所以这就是图片:

This is the problem

到目前为止,这是我的代码:

#include <iostream>
using namespace std;

int box(int);

int main() {
    int input;
    cout << "Enter input: ";
    cin >> input;
    cout << endl;
    box(input);

    return 0;
}

int box(int input) {
    if (input == 1 || input == 2 || input == 3) {
       switch(input) {
            case 1:
                for (int a=1; a<=3; a++) {
                    cout << "*";
                }
                cout << endl;

                for (int b=1; b<=1; b++) {
                    for (int c=1; c<=1; c++) {
                        cout << "*";
                }
                for(int d=1; d<=1; d++) {
                        cout << " ";
                }
                cout << "*" << endl;
            }

            for (int e=1; e<=3; e++) {
                cout << "*";
            }
            break;
    }
}
else {
    cout << "Wrong input." << endl;
}

return input;

}

我是编程C ++的新手。我试图在这里得到逻辑和代码。但这对我来说太难了。我试图输入1,框将出现。我想用一个函数重新创建代码,其输入将增加框。

1 个答案:

答案 0 :(得分:0)

你开始专门解决它:从一个盒子开始。试着看看他们都有什么共同点。以N为输入,

  • 输出有3,5,7行:2 * N + 1
  • 第一行很特别;它有"*",然后N" * *"
  • 其他行有N
  • 一对中的第一行(大部分是空的)有"*",然后是N" "(4个空格)或" *"(3个空格和一个星)。对于I - 行对,前者有I,后者有N - II从0到N - 1
  • 一对中的第二行(包含框底部的那一行)同样具有"*",然后是" "(4个空格)或" * *"I + 1以前的那些,以及后者的N - (I + 1)

现在你甚至可以画4个或5个盒子 - 它们都遵循相同的规则。