打印递归 * 模式
Print recursive * pattern
我在打印 * 图案时遇到问题。
它们应该有 2 个函数:printStars() 和 printLine()。 printStars(int n),用于打印一行n颗星;第二个,printLines(int m),打印m对行。
我已经完成了半顶打印,但我无法反转下半的图案。您无法添加更多功能。只有 2 个函数 printStars() 和 printLines() 并且必须是递归的
要求:
* * * *
* * *
* *
*
*
* *
* * *
* * * *
这是我所做的:
* * * *
* * *
* *
*
代码:
void printStars(int n){
if (n < 1) return;
cout << "*";
printStars(n-1);
}
void printLines(int m){
if (m < 1) return;
printStars(m);
cout << "\n";
printLines(m-1);
}
int main(int argc, const char * argv[]) {
int n;
cout << "n = ";
cin >> n;
printLines(n);
}
题目提示:按照如下模式生成整个图片的方式思考:
这是您需要的零钱:
void printLines(int m){
if (m < 1) return;
printStars(m);
cout << "\n";
printLines(m-1);
printStars(m); // just add these two lines to print line again after all internal ones are printed
cout << "\n";
}
我在打印 * 图案时遇到问题。
它们应该有 2 个函数:printStars() 和 printLine()。 printStars(int n),用于打印一行n颗星;第二个,printLines(int m),打印m对行。
我已经完成了半顶打印,但我无法反转下半的图案。您无法添加更多功能。只有 2 个函数 printStars() 和 printLines() 并且必须是递归的
要求:
* * * *
* * *
* *
*
*
* *
* * *
* * * *
这是我所做的:
* * * *
* * *
* *
*
代码:
void printStars(int n){
if (n < 1) return;
cout << "*";
printStars(n-1);
}
void printLines(int m){
if (m < 1) return;
printStars(m);
cout << "\n";
printLines(m-1);
}
int main(int argc, const char * argv[]) {
int n;
cout << "n = ";
cin >> n;
printLines(n);
}
题目提示:按照如下模式生成整个图片的方式思考:
这是您需要的零钱:
void printLines(int m){
if (m < 1) return;
printStars(m);
cout << "\n";
printLines(m-1);
printStars(m); // just add these two lines to print line again after all internal ones are printed
cout << "\n";
}