栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言递归函数(一)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言递归函数(一)

递归:在调用一个函数的过程中又出现直接或间接地调用该函数自己本身,称为函数的递归调用。

例7.1 有5个学生坐在一起
◆问第5个学生多少岁?他说比第4个学生大2岁
◆问第4个学生岁数,他说比第3个学生大2岁
◆问第3个学生,又说比第2个学生大2岁
◆问第2个学生,说比第1个学生大2岁
◆最后问第1个学生,他说是10岁
◆请问第5个学生多大?

第一种我们先用for循环来写:

1. 理清其中的关系,由题目可知: 第一个学生10岁,那么第二个学生就是12岁,以此类推第五个学生就是18岁。

#include 
int Age1(int n)
{
	int tmp = 10; //第一个学生的年龄为10岁
	for(int i=1; i 

调试结果为:

 第二种我们用递归法来写:

其中的规律为:

Age(n):第n个学生的年龄 == Age(n-1)+2
Age(n-1):第n-1个学生的年龄==Age(n-1)
Age(1):第1个学生的年龄==10      这是递归的停步准则,如果n==1,tmp=10,然后把10依次带入每一个Age( )中,求出最后要的年龄。

#include
int Age(int n)
{
	int tmp;
	if(n == 1)
	{
		tmp = 10;
	}
	else
	{
		tmp = Age(n-1)+2;
	}
	return tmp;
}

int main()
{
	for (int i = 1; i <= 5; i++)
	{
		printf("%dn", Age(i));
	}
	return 0;
}

调试结果为:

 最不适用于用递归函数的经典题目:斐波那契数列 

https://blog.csdn.net/hi332516_1/article/details/121554462

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/605335.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号