c语言入门教程–-11递归

c语言入门教程–-11递归

c语言入门教程–-11递归

递归的意思就是函数自己调用自己。
但在使用递归时,程序员需要注意定义一个从函数退出的条件,否则会进入死循环。

例子:
5!这里是求5的阶乘,也就是5x4x3x2x1

#include<stdio.h>
int F(int a) //求阶乘
{
   
if(a==1) return 1; //这里就是出口
else return a*F(a-1); //如果不是1的话,就返回 a*a-1的阶乘
}

int main()
{
   
	int b = F(5);
	printf("%d\n",b);
	return 0;
}

运行结果:
在这里插入图片描述

这就是递归。巧妙运用递归可以做成很多事情。

思考题目:
1 1 2 3 5 8 13 ?
用递归求一下?的数字。

解:

if(a==1 || a==2) return 1; //这里就是出口
else return F(a-2)+F(a-1); //从第3个开始就等于前两个数相加

//自己可以试着把完整的程序编写出来,并且慢慢吸收,消化。

在这个平台上有收徒的打算,如果小伙伴刚好需要一个能答疑,能带着你学习的师父,请联系我,q:2316773638

c语言入门教程–1编译器
c语言入门教程–-2基本语法
c语言入门教程–-3数据类型,变量与常量
c语言入门教程–-4运算符
c语言入门教程–-5判断语句
c语言入门教程–-6循环语句
c语言入门教程–-7嵌套循环
c语言入门教程–-8循环控制语句
c语言入门教程–-9循环与条件语句习题与总结
c语言入门教程–-10函数
c语言入门教程–-11递归
c语言入门教程–-12作用域
c语言入门教程–-13数组
c语言入门教程–-14二维数组
c语言入门教程–-15字符串的输入与输出
c语言入门教程–16字符串操作
c语言入门教程–-17结构体
c语言入门教程–-18指针

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2911.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 防止三极管饱和_稳压二极管稳压时处于什么偏置状态

    防止三极管饱和_稳压二极管稳压时处于什么偏置状态下图为一个分立器件搭建的BUCK电路,但是不明白图中的两个肖特基二极管(D1.D2)的作用是什么防止Q1饱和,但沒深度。

  • latex 希腊字母加粗_mathtype公式取消加粗

    latex 希腊字母加粗_mathtype公式取消加粗在编辑公式时,当使用\mathbf{\sigma}时,\mathbf{}不起作用?【解决方案】方案一、用\usepackage{amsmath}\boldsymbol{\sigma}\mathbf只对公式中的普通字母ABC…abcdef等起作用。方案二、更好的方法是使用\usepackage{bm}\bm{}来加粗。…

    2022年10月13日
  • id nfc模拟_手机NFC也可以刷ID卡门禁?无聊测试居然成功了

    id nfc模拟_手机NFC也可以刷ID卡门禁?无聊测试居然成功了前段时间换了个K20pro,有NFC功能后手又痒了,就想折腾一下NFC的日常使用。小区的门禁前几个月刚换成了亲邻开门,可以用微信小程序开门,但每次都要拿手机出来点几下(特别是手机提着东西的时候),还是没有手机接触式开门方便。拿出家里的门禁卡放手机背面,没反应,我NFC应该没问题呀!换另外一台华为手机还是没反应!上网一查,我家的门禁卡居然是ID卡!但还是不死心,在小米钱包里虚拟了一张门卡,放到小区门…

  • (二)Python的应用领域

    (二)Python的应用领域Python的应用领域主要有如下几个:Web应用开发Python 经常被用于Web开发,尽管目前PHP、JS依然是Web开发的主流语言,但Python上升势头更劲。尤其

  • BN层的作用_bn层加在哪里

    BN层的作用_bn层加在哪里一:BN层李宏毅视频讲解BN(BatchNormalization)层的作用(1)加速收敛(2)控制过拟合,可以少用或不用Dropout和正则(3)降低网络对初始化权重不敏感(4)允许使用较大的学习率 链接:https://www.zhihu.com/question/38102762/answer/85238569来源:知乎1.WhatisBN?顾名思义,batchnormalizat…

    2022年10月10日
  • 数据库去重有几种方法_去重数据库

    数据库去重有几种方法_去重数据库概述转发这个主要是有时会有重复数据的需求,留一个查询方法,大家有空也可以测试一下..一、Oracle数据库去重(推荐放在在第6点)1、环境准备可以看到“ALLEN”和“SMITH”这两个人的数据重复了,现在要求表中name重复的数据只保留一行,其他的删除。CREATETABLEhwb(idint,namevarchar(10));INSERTINTOhwbVALUES(1,’TOM’);INSERTINTOhwbVALUES(2,’A

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号