关于C语言递归函数的心得及一些例题
2020-02-15 06:40
267 查看
关于C语言递归函数的心得及一些例题
递归,是一种函数调用,简单来说,函数内容无非就是两部分,第一部分是出口,另一部分则是循环调用的语句。下面,可以通过具体的函数来理解什么是递归。
1.阶乘:
double fact(int n) { if (n == 1 || n == 0) return 1; else return(n * fact(n - 1)); }
2.指数函数:
/*x是底数,n是指数*/ double calc_pow(double x, int n) { if (n == 1) return x; else return (x * calc_pow(x, n - 1)); }
3.Fabonacci数列:
/*f返回第n个斐波那契数列*/ int f(int n) { int sum; if (n == 0) { sum = 0; } else if (n == 1) { sum = 1; } else { sum = f(n - 2) + f(n - 1); } return sum; }
4.顺序输出整数:
void printdigits(int n) { if (n < 10) {//出口 printf("%d\n", n); } else { printdigits(n / 10);//12345-1234-123-12-1-12%10-123%10-1234%10-12345%10 printf("%d\n", n % 10); } }
5.十进制换二进制:
void dectobin(int n) { if (n == 0) { printf("0"); } else if (n == 1) { printf("1"); } else { dectobin(n / 2);//10-5-2-1 1-1 2-0 5-1 10-0 printf("%d", n % 2); } }
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- C语言中Switch语句的范围比较解决方案(学习笔记)
- C语言静态库与动态库一些心得
- c/c++中的uint8_t uint16_t uint32_t uint64_t size_t数据类型
- c语言:简单的客户管理系统
- windows c++调用Pytorch模型的过程
- Atl实战系列《用ATL COM Wizard 实现(VC++的插件)Add-in》
- C++进制转换
- c++ 数组长度
- C语言程序设计之循环结构。
- C语言十一月七号。
- C语言程序设计之数组。
- C语言程序设计(11.26)
- C语言程序设计(11.28)
- C语言程序设计(12.5)
- 大数据排序(10亿量级以上)C语言实现
- EPANET源码中用到的几个简单C语言函数介绍一
- EPANET源码中用到的几个简单C语言函数介绍三
- C语言中返回字符串函数的四种实现方法
- C语言字符串编码方式转换
- C++(2)导读学习笔记