C++实现吃豆子图案:用层级递归方式绘制豆子
这段内容描述了阿宁对吃豆子的兴趣,并且他想要用字符输出方形的豆子图案。他使用了一种层级的方式来表示豆子的好坏程度。
首先,一级好豆子由一行一行的星号组成,每行有6个星号。接下来是三行由星号和点组成的图案,其中星号的数量逐渐减少。
一级坏豆子则与一级好豆子相反,前三行是由点组成的图案,后三行是星号逐渐增加。
然后,二级好豆子由两个一级坏豆子组成,排列方式是第一个一级坏豆子在上方,第二个一级坏豆子在下方。
二级坏豆子则由一个一级好豆子和一个一级坏豆子组成,排列方式是第一个一级好豆子在上方,第二个一级坏豆子在下方。
以此类推,x级好豆子由x-1级坏豆子和x-1级坏豆子组成,排列方式是第一个x-1级坏豆子在上方,第二个x-1级坏豆子在下方。
x级坏豆子则由x-1级好豆子和x-1级好豆子组成,排列方式是第一个x-1级好豆子在上方,第二个x-1级坏豆子在下方。
用C++实现内容:以下是使用C++实现该豆子图案的代码:
#include <iostream>
using namespace std;
void printPattern(int n, bool good) {
char ch = good ? '*' : '.';
for (int i = 0; i < n; i++) {
for (int j = 0; j < 6; j++) {
cout << ch;
}
cout << endl;
}
}
void printBeanPattern(int level) {
if (level == 1) {
printPattern(1, true);
printPattern(3, true);
} else {
printBeanPattern(level - 1);
printBeanPattern(level - 1);
if (level % 2 == 0) {
printPattern(3, true);
} else {
printPattern(3, false);
}
}
}
int main() {
int level;
cout << '请输入豆子的层级:';
cin >> level;
printBeanPattern(level);
return 0;
}
使用该代码,您可以输入豆子的层级,然后输出对应层级的豆子图案。例如,输入层级为3时,输出的豆子图案如下:
******
******
******
......
.....
......
******
******
******
......
.....
......
原文地址: https://www.cveoy.top/t/topic/o6zy 著作权归作者所有。请勿转载和采集!