| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> C语言函数递归练习 -> 正文阅读 |
|
[数据结构与算法]C语言函数递归练习 |
目录 1. 接受一个整型值(无符号),按照顺序打印它的每一位。例如数字1234 再完成代码之前,我们先理以下思路。 假设输出1234,想按顺序打印1 2 3 4 .我们可以创建一个if判断语句,若我们输出的值大于9,那我们用这个数字%10,1234%10=4;随后再用1234/10=123;将123%10=3;再用123/10=12;将12%10=2,再用12/10=1;此时跳出判断,利用递归将其按顺序打印。
让我们对上述代码进行画图分析吧: ? 2. 编写函数不允许创建临时变量,求字符串的长度。再使用递归方法完成此题目之前,我们先看看两个非递归的方法: 法一:库函数strlen法:
?法二:使用自定义函数my_strlen模拟库函数strlen的作用
法三:不创建临时变量,求字符串长度(递归)
同样的,我们也通过画图分析下: 3. 求n的阶乘。(不考虑溢出)法一(循环):
法二(递归)
4.?求第n个斐波那契数。(不考虑溢出)斐波那契: 1 1 2 3 5 8 13 21 34 55 第三个数字等于前面两个数字和,最前面两个数字都是1 法一? ?(递归)(此方法不太合适,效率太低)
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:25:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |