递归越做越忘,刚开始还写的好,后来就无从下手,看完代码又恍然大悟
作者:互联网
设一个基准情况;再调用
第二个情况由第一个情况递推,再调用;
达到某个情况,返回值。
有5个人围坐在一起,问第5个人多大年纪,他说比第4个人大2岁;问第4个人,他说比第3个人大2岁;问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁。第1个人说自己10岁,请利用递归法编程计算并输出第5个人的年龄。
include <stdio.h>
unsigned int ComputeAge(unsigned int n);
main()
{
unsigned int n = 5;
printf("The 5th person's age is %d\n", ComputeAge(n));
}
/* 函数功能:用递归算法计算年龄 */
unsigned int ComputeAge(unsigned int n)
{
unsigned int age;
if (n == 1)
{
age = 10;
}
else
{
age = ComputeAge(n - 1) + 2;
}
return age;
}
标签:越做越,递归,int,age,无从下手,unsigned,ComputeAge,个人 来源: https://www.cnblogs.com/dosu/p/11905195.html