递归学习(一)最简单的C语言递归求年龄算法

递归是我们在学习编程中,必须要去学习的,虽然递归晦涩难懂 ,但是很多时候,递归的思想会很有用,但是在实际开发中,不建议使用递归,要用循环来代替递归,不然bug无穷。

-----------------------------------------------------------

问题描述:

有5个人坐在一起,

问第5个人,他说比第4个人大2岁,

问第4个人,他说比第3个人大2岁,

问第3个人,他说比第2个人大2岁,

问第2个人,他说比第1个人大2岁,

问最后一个人,他说10岁


第5个人多大?

-------------------------------------------------------------

分析如下:

ren:         1                2                 3                       4                             5  

age :       x                 x+2            (x+2)+2            (x+2+2)+2              (x+2+2)+2

                10              12              14                      16                          18

-------------------------------------------------------------

代码实现:

#include <stdio.h>
#include <stdlib.h>

int  age(int n)
{
	int  i_age;
	if(1 == n)
    {
		i_age = 10;
    }
    else
    {
		i_age = age(n-1) + 2;
    }
    
    return i_age;
}

int main(void)
{
    printf("The fifth‘s  age is  %d\n", age(5));				
            
	system("pause");
	return 0;
}

-------------------------------------------------------------

运行结果:

递归学习(一)最简单的C语言递归求年龄算法

-------------------------------------------------------------


本文出自 “享受科技带来的快乐” 博客,请务必保留此出处http://liam2199.blog.51cto.com/2879872/1429941

递归学习(一)最简单的C语言递归求年龄算法,布布扣,bubuko.com

递归学习(一)最简单的C语言递归求年龄算法

上一篇:IOS UIWebView截获html并修改便签内容,宽度自适应


下一篇:没智能手机会死星人的福音来了