我必须执行一个递归过程来打印这个:
'\n' -----1 ----2 ---3 --4 -5
现在我有这段代码可以打印数字但不是 "-" 。
#include <stdio.h> // sprintf, scanf, ungetc, stdin
void recurrencia(int n) {
if (n > 0) {
recurrencia(n -1);
printf("%d\n", n);
} else printf("\n");
}
int main()
{
recurrencia(5);
return 0;
}
问题是我不能向过程中添加新参数,也不能使用变量 n 作为计数器。
所以我的问题是:如何记录每次我递归输入相同的程序,以便我可以添加与我递归输入的“深度”相对应的“-”数量?
如果您无法更改递归(Int n)过程,但可以使用辅助过程,我将定义一个跟踪递归次数的过程,以便打印“-”字符:
出港: