使用while循环的星号矩形

时间:2018-04-05 22:21:19

标签: c++

我必须使用while循环制作一个i by j矩形.... 到目前为止,这是我得到的。

#include <iostream>

using namespace std;

void stars(int, int);

int main()
{
    int i, j;
    cin >> i >> j;
    stars(i, j);


    return 0;
}
void stars(int i, int j)
{
    while (j >= 0)
    {

        while (i >= 1)
        {

            cout << "*";
            i = i - 1;

        }
        j = j - 1;

    }
}

它射出了一排&#39; i&#39;星号。 我(j-1)更多行......

1 个答案:

答案 0 :(得分:0)

您的stars代码有两个问题:

  1. 在您的星号行完成后,您需要以某种方式转到新行
  2. 如果您递减i并且在第1行之后永远不会将其恢复为原始值,则不会再打印星号
  3. 您可以尝试这样的事情:

    void stars(int i, int j)
    {
        while (j-- > 0)
        {
            int k = i;
            while (k-- > 0)
                cout << "*";
    
            cout << endl;
        }
    }