我坚持使用 C# 进行递归练习,以下是说明:
- 根据变量值的条目,制作如下详述的树。
例如:条目 5
- - - - 1
- - - 2 2 2
- - 3 3 3 3 3
- 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5
(不知道好不好看,不过思路是做成三角松树的形状)
如果有人能帮我解决它,我将不胜感激,我认为提案中有一些我无法解释的地方。
我能够得到的代码如下:
class Program
{
public class Arbol
{
void hacerArbol(int x)
{
if (x > 0)
{
hacerArbol(x - 1);
if (x < 5)
{
Console.Write("_" + " ");
}
else
{
Console.Write(x);
Console.WriteLine();
}
//hacerArbol(x - 1);
}
}
static void Main(string[] args)
{
Arbol nuevo = new Arbol();
nuevo.hacerArbol(5);
Console.ReadKey();
}
}
}
我无法摆出要求的形象,我想有一部分我无法想象该怎么做。
这个递归练习对我来说似乎很糟糕......它的特殊性是需要提前知道高度才能编写每个楼层的脚本,所以函数
这没用; 但它可以以不同的方式完成:
调用产生的字符串
hacerArbol(5)
正是您在示例中输入的内容。诀窍是通过将第一个调用放在
hacerRama
字符串末尾来反向连接字符串。PS:以两位数开头是行不通的。
我不知道图形的顺序是否重要,我的意思是松树应该居中还是左对齐或其他什么。
但是这段代码对我来说可以解决左对齐的松树:)
它的操作很简单。
前两个参数,第一个
max
(.color
使用上面的代码,会产生以下输出:
编辑:添加信息。
如果您需要将树绘制到中心:在循环之前添加以下行
for
:留下这样的代码:
产生以下输出:
像这样的东西可能会起作用......
改变变量的值,
int maxNumberIterate = 5;
就会有你解决的练习。代码:
https://dotnetfiddle.net/vSs425