递归求年龄

 1 /*
 2    题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第
 3       3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后 
 4       问第一个人,他说是10岁。请问第五个人多大?
 5 
 6    1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道
 7          第四人的岁数,依次类推,推到第一人(10岁),再往回推。
 8  */
 9 #include<stdio.h>
10 
11 int age(int n)
12 {
13     int c;
14 
15     if(n==1)
16         return 10;
17 
18     else
19     {
20         c = age(n-1)+2;
21         return c;
22     }    
23 }
24 
25 int main()
26 {
27     //int i;
28 
29     printf("his age is :%d\n",age(5));
30 
31     //for(i=1;i<6;i++)
32     //printf("the %d man is :%d\n",i,age(i));
33 
34     return 0;
35 }

 

posted @ 2012-05-09 07:20  zhengmian  阅读(491)  评论(0)    收藏  举报