第九次作业解析

本文通过九个实例详细解析了C语言中递归的运用,包括递归的限制条件、递归函数的调用返回值、递归打印数字、求阶乘、模拟strlen、字符串逆序、计算数字每位之和、递归求幂和斐波那契数列,旨在帮助读者深入理解和掌握递归的概念与应用。
摘要由CSDN通过智能技术生成
目录


一、💥

跳转到目录

关于递归的描述错误的是:( )
A.存在限制条件,当满足这个限制条件的时候,递归便不再继续
B.每次递归调用之后越来越接近这个限制条件
C.递归可以无限递归下去
D.递归层次太深,会出现栈溢出现象

🎸C

递归的条件
存在限制条件,当满足这个限制条件的时候,递归便不再继续
每次递归调用之后越来越接近这个限制条件
注意
递归层次太深,会出现栈溢出现象
递归不会无限递归,有限制条件,达到限制条件就会终止


二、💥

跳转到目录

根据下面递归函数:调用函数Fun(2),返回值是多少( )
A.2
B.4
C.8
D.16

int Fun(int n)      
{
    
  if(n==5)   
    return 2;     
  else     
    return 2*Fun(n+1);      
}

🎸D

return 2*2*Fun(2+1);    
return 2*2*2*Fun(4+1);    
n==5;
return 2*2*2*2;

三、💥

跳转到目录

打印一个数的每一位

递归方式实现打印一个整数的每一位

🎸小奔的结果:

void print(int k)
{
   
	if (k > 9)
		print(k/10);

		printf("%d ", k % 10);
	
}

int main()
{
   
	int k = 0;
	scanf("%d", &k);
	//输入数

	print(k);
	//打印一个数的每一位
	return 0;

}

四、💥

跳转到目录

求阶乘

递归和非递归分别实现求n的阶乘(不考虑溢出的问题)

🎸小奔的结果:

//递归
#include <stdio.h>

int Factorial(int x)
{
   
	static int y = 1;
	if (x > 0)
		y = Factorial(x - 1) * x;
	else
		return y;
}


int main()
{
   
	int k = 0;
	scanf("%d", &k);
	//输入求谁的阶乘


	int n = 0;
	n=Factorial(k);


	
  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小奔同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值