C进阶之递归应用
2017-05-26 11:32
176 查看
// 用递归的方法求字符串长度 #include <stdio.h> int strlen(const char* s) { if('\0' == *s) return 0; else return 1+strlen(s + 1); } int main() { const char arr[] = "softer school"; int len = 0; len = strlen(arr); printf("%d\n",len); printf("%d\n", strlen("abc")); printf("%d\n", strlen("")); return 0; } // 用递归的方法求斐波拉契数列 1,1,2,3,5,8,13,21... #include <stdio.h> int fac(int n) { if((1 == n) || (2 == n)) { return 1; } else { if(3 <= n) { return fac(n-1) + fac(n-2); } } return -1; } int main() { printf("%d\n", fac(1)); < b668 span class="hljs-built_in">printf("%d\n", fac(2)); printf("%d\n", fac(7)); printf("%d\n", fac(-10)); return 0; } // 汉诺塔问题求解 #include <stdio.h> void move(int n, int a, int b, int c) { if( 1 == n ) { printf("%d --> %d\n", a, c); } else { move(n-1, a, c, b); move(1, a, b, c); move(n-1, b, a, c); } } int main() { move(3, 1, 2, 3); return 0; }
相关文章推荐
- [原创]递归应用-遍历所有下层分类
- BCB 高手进阶 (八)TServerSocket和TClientSocket应用技巧
- 进阶--正则表达式的应用实例通俗说明
- Apache MINA 应用进阶
- 典型的递归应用:求裴波契那数列中某个位置上的数字
- CTE 递归应用实例
- 数据旋转及DB2递归的应用
- Apache MINA 应用进阶
- 并查集的初级应用及进阶
- 递归在C++应用中的利与弊
- TreeView控件的加载,遍历递归的应用
- [友情推荐]深入浅出:Visual Basic 2005入门、进阶与应用实例
- NHibernate进阶之HQL应用
- 推荐陈锐的新书《深入浅出--Visual Basic 2005入门、进阶与应用实例》
- 通过实例学习 HC11 汇编递归应用
- 声卡: 不同的声音,声卡进阶应用技巧集(zz)
- 递归在java语言中的应用
- Windows Mobile 进阶系列.多窗体应用的性能与编程调试
- 用 Dojo 的 Ajax 应用开发进阶教程,第 1 部分:JavaScript 技巧与高级特性
- linq应用:dropdownlist 递归 动态 树