C 将函数迭代转换为递归
如何将这个迭代函数传递给递归函数C 将函数迭代转换为递归,c,C,如何将这个迭代函数传递给递归函数 void triangulo(int max) { int i, j; for(i = 1; i <= max; i++) { for(j = 0; j < i; j++) printf("%d", j + 1); printf("\n"); } } void triangulo(int m
void triangulo(int max)
{
int i, j;
for(i = 1; i <= max; i++)
{
for(j = 0; j < i; j++)
printf("%d", j + 1);
printf("\n");
}
}
void triangulo(int max)
{
int i,j;
对于(i=1;i试试这个:这里我把i
和j
作为参数,因为在每个递归中它们有不同的值
void triangulo(int max,int i,int j) //make i and j as arguments
{
if(i<max)
{
if(j<max)
{
printf("%d",j);
triangulo(max, i, ++j);//dont use post increment operation
}
else
{
printf("\n");
triangulo(max , ++i, 0);
}
}
}
void triangulo(int max,int i,int j)//将i和j作为参数
{
如果(i我希望下面的链接可能会有所帮助:
将
的更改为如果
的分支是最后一个案例和函数调用,请您可以用伪代码执行。我想完全递归执行。您可以更精确一些吗?如果不使用任何loop@cherokt更新…我希望这有帮助:)。非常感谢
void triangulo(int max,int i,int j) //make i and j as arguments
{
if(i<max)
{
if(j<max)
{
printf("%d",j);
triangulo(max, i, ++j);//dont use post increment operation
}
else
{
printf("\n");
triangulo(max , ++i, 0);
}
}
}