所以我已经编写了一个函数来使用几个 for 循环来编写一个可变高度的数字金字塔,它工作得很好。
这是我正在谈论的金字塔类型的示例:
用户输入 4
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
所以我确实需要用空格填充左侧。
我的问题是我不能让它只使用递归,没有循环。我什至想不出从递归的角度开始的地方,真的。我知道我需要一个基本案例,以及处理该基本案例的方法。
我应该编写多个递归函数,还是有办法只用一个?(除了主要的,我的意思是。)
这是我到目前为止所拥有的(一点也不多):
void givepyramid(int lines); //lines = Number of lines in pyramid (4 in example above)
{
if lines == 1;
cout << (//all the spaces needed)<<1;
else
cout << (I'm not too sure on how to go about this here.)
}
任何建议将不胜感激!谢谢。