从用户输入的行和列中打印的更好方法?没有for循环?递归?

Better way to print from the user inputted in rows and columns? Without for loops? Recursion?

我一直在尝试搜索是否有其他方法可以打印以下图案:

打印实心矩形

 ####
 ####
 ####

我使用了以下代码:

using namespace std;

int main ()
{
    int r,c;
    cout<<"Enter the number of rows and then columns:\n";
    cin>>r>>c;
    cout<<"Pattern:\n";
    for(int i=1; i<=r; i++)
    {
        for(int j=1; j<=c; j++)
        {
            cout<<"*";
        }
    cout<<"\n";
    }
    return 0;
}

我的主要问题是有什么方法可以删除嵌套的 for 循环或有什么方法可以使这段代码更好吗?

我们可以对其进行递归吗?有基本案例吗?

通常递归涉及使用单独的堆栈帧,这会原子化每个函数调用的过程,而不会踩到前一个函数调用。在问题集中,递归是解决问题的最佳案例,想到阿克曼函数和复杂的数学函数,但是在这个简单的问题中,您在这里所做的是完全可以接受的。 我可以建议的一项可能的改进是,如果您可以参数化用户输入被限制在其中,则对行指定使用单独的 Look Up Table。简单的说LUT就是一个Key-to-Value对的直接转换,在我潜伏的Leetcode优化的暗角里,它往往是提高代码效率的金鹅
查看此向导:https://www.youtube.com/watch?v=HXNhEYqFo0o