数据结构与算法----递归(老师作业)

数据结构与算法----递归(老师作业),第1张

递归图解

 递归函数的实现

int addTo(int paraN) 
{
	int tempSum;
	printf("entering addTo(%d)\r\n", paraN);
	if (paraN <= 0) 
	{
		printf(" return 0\r\n");
		return 0;
	} else {
		tempSum = addTo(paraN - 1) + paraN;
		printf(" return %d\r\n", tempSum);
		return tempSum;
	}// Of if
}

测试

void addToTest() 
{
	int n, sum;
    printf("---- addToTest begins. ----\r\n");
 
	n = 5;
	sum = addTo(n);
    printf("\r\n0 adds to %d gets %d.\r\n", n, sum);
 
	n = 1;
	sum = addTo(n);
    printf("\r\n0 adds to %d gets %d.\r\n", n, sum);
 
	n = -1;
	sum = addTo(n);
    printf("\r\n0 adds to %d gets %d.\r\n", n, sum);
 
 
    printf("---- addToTest ends. ----\r\n");
}

主函数部分

int main()
{
	addToTest();
}

结果

---- addToTest begins. ----
entering addTo(5)
entering addTo(4)
entering addTo(3)
entering addTo(2)
entering addTo(1)
entering addTo(0)
 return 0
 return 1
 return 3
 return 6
 return 10
 return 15
 
0 adds to 5 gets 15.
entering addTo(1)
entering addTo(0)
 return 0
 return 1
 
0 adds to 1 gets 1.
entering addTo(-1)
 return 0
 
0 adds to -1 gets 0.
---- addToTest ends. ----

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/914993.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存