c++.嵌套循环盒形状递增

C++. Nested loop box shape increment

本文关键字:嵌套循环 c++      更新时间:2023-10-16

我现在很难增加一个框的形状。这是图片:

这就是问题所在

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

#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和框将出现。我想用一个函数重新创建代码,该函数的输入将使框增加。

你开始解决它太具体了:从一个盒子开始。试着找出它们的共同点。以N为输入,

  • 输出有3、5、7行:2 * N + 1
  • 第一行是特殊的;它有一个"*",然后N乘以" * *"
  • 其他行以N对出现
  • 一对中的第一行,大部分是空的,有"*",然后N乘以" "(4个空格)或" *"(3个空格和一个星号)。对于I行对,前者有I,后者有N - I, I从0到N - 1
  • 一对中的第二行,即盒子底部的行,同样有"*",然后是" "(4个空格)或" * *",前者为I + 1,后者为N - (I + 1)

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