如何在C ++中打印一个矩形的星号

时间:2013-11-11 04:34:36

标签: c++

我被告知要求用户输入他们想要打印的矩形的行数和列数以及他们想要的符号。我不知道如何做到这一点,所有我的谷歌搜索只让我打印一行。方向指示行应为3,列应为7,字符为'$'。我还是初学者,所以请放轻松我。这就是我所拥有的:

#include <iostream>
#include <iomanip>

using namespace std;

void PrintChar(int row = 5, int column = 10, char symbol = '*');

int main()
{
    int rows, columns;
    char symbol;

    cout << "How many rows and columns do you want, and with what symbol (default     is *) ?" << endl;
    cin >> rows >> columns >> symbol;

    PrintChar(rows, columns, symbol);

}

void PrintChar(int row, int column, char symbol)
{

    for (int y = 1; y <= column; y++)
    {
        cout << symbol;
}

打印出符号的整行,这就是我的想法停止的地方。如果你可以帮助我完成最后一行,那将非常感激。

4 个答案:

答案 0 :(得分:2)

  • 首先,int main()应该有一个return声明。

  • PrintChar中应该有2个嵌套for循环,外部一个用于行,内部一个用于列,如: -

    for(int x = 1; x&lt; = rows; x ++) {   cout&lt;&lt; ENDL;   for(int y = 1; y&lt; = columns; y ++)   {     cout&lt;&lt;符号;   } }

答案 1 :(得分:2)

这应该可以解决问题。添加了换行符,使其看起来像一个矩形。

#include <iostream>
#include <iomanip>

using namespace std;

void PrintChar(int row = 5, int column = 10, char symbol = '*');

int main() {

    int rows, columns;
    char symbol;

    cout << "How many rows and columns do you want, and with what symbol (default     is *) ?" << endl;
    cin >> rows >> columns >> symbol;

    PrintChar(rows, columns, symbol);

    return(0);

}

void PrintChar(int row, int column, char symbol) {
    for (int y = 1; y <= column; y++) {
        for (int x = 1; x <= row; x++) {
            cout << symbol;
        }
        cout << endl;
    }
}

答案 2 :(得分:1)

使用嵌套循环可以实现这一点。

void PrintChar(int row, int column, char symbol)
{

    for (int x = 0; x < row; x++)
    {
       for (int y = 1; y <= column; y++)
       {
           cout << symbol;
       }
       cout << endl;
    }
}

答案 3 :(得分:0)

似乎是basic star patterns looping exercise。使用嵌套循环打印所需的模式

for(i=1; i<=n; i++)  
{  
    for(j=1; j<=m; j++)  
    {  
        cout<<"*";  
    }  
    cout<<"\n";  
}

此处n是行数,m是每行的列数。