函数递归习题 (easy 版)
5.用非递归的方式模拟实现 strlen 函数
strlen:计算字符串长度的库函数,需要引用 string.h 头文件。遇到\0 停止计数。
strlen 和 sizeof 是一对有点相似的东西,具体的大家可以去看看我之前的文章.关于 strlen 和 sizeof 区别的文章链接:C语言-strlen与sizeof区别
复制代码
6.用递归的方式模拟实现 strlen 函数
图解
复制代码
7.用非递归实现字符串逆序
方法:使用双指针,一个指向左边,一个指向右边。左指针指向的字符和右指针指向的字符交换。 循环条件为:left < right
复制代码
运行结果:
8.用递归实现字符串逆序
图解
当大家遇到看不懂得递归,也可以像我一样,假设一个例子,然后用展开图来理解一下!
复制代码
9.用递归计算一个数拆分成每一位之后的每位之和
图解
复制代码
运行结果:
10.用递归实现计算 n 的 k 次方
图解
复制代码
运行结果:
11.用非递归求第 n 个斐波那契数
图解
复制代码
此种写法需要计算很多重复的数,效率低!
方法 2:迭代计算
复制代码
运行结果:
递归习题练习到这里就差不多结束了,明天,我会给大家带来两个经典的递归问题:青蛙跳台阶和汉诺塔问题!欢迎大家持续关注!
今天就先到这吧~感谢你能看到这里!希望对你有所帮助!欢迎老铁们点个关注订阅这个专题! 同时欢迎大佬们批评指正!
版权声明: 本文为 InfoQ 作者【芒果酱】的原创文章。
原文链接:【http://xie.infoq.cn/article/b488bd889f7381ead06ee6fa7】。文章转载请联系作者。
评论