重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include"stdio.h"
站在用户的角度思考问题,与客户深入沟通,找到青山网站设计与青山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、网站设计、企业官网、英文网站、手机端网站、网站推广、域名与空间、网站空间、企业邮箱。业务覆盖青山地区。
int f(int n)
{
int t;
if(n==4)
t=15;
else
t=f(n+1)+2;
return t;
}
main()
{
int n;
printf("第一个的年龄为:%d",f(1));
}
递归实现
求解可分:
第一阶段:“回推”
即将你要求的第N(5)个人的年龄表示为第(n-1)人年龄的函数,而第(n-1)个人的年龄仍然不知道就还要回推到第(n-2)人的年龄的函数直到已知年龄的那个人为止(if(n==1)c=10;)就是结束条件了。如此题n=5,又已知第一个人年龄故回推到第一个人结束
第二阶段:“递推”
从第一个人的已知年龄推算出第二个人年龄,从第二个人的年龄推算到第三个人的年龄直到算出你要求的第N个人的年龄为止
程序中不应该出现无终止的递归调用,而只应出现有限次数的,有终止的递归调用,这可以用if语句来控制,只有在某一条件成立时才继续执行递归调用,否则就不在继续。
#includestdio.h
#define N 10
int age(int x)
{
if(x==1) return N;
return age(x-1)+2;
}
int main()
{
printf("%d\n",age(5));
return 0;
}