递归练习
来源:互联网 发布:ps4最终幻想10淘宝 编辑:程序博客网 时间:2024/05/23 01:36
这里的练习来自The C Programming Language 4.10节
1.将一个整数作为字符串打印
#include <stdio.h>/* printd: print n in decimal */void printd(int n){ if (n < 0) { putchar('-'); n = -n; } if (n / 10) printd(n / 10); putchar(n % 10 + '0');}
2.运用 printd 函数的设计思想编写一个递归版本的 itoa 函数, 即通过递归调用把整数转换为字符串
void itoa(int n,char s[]) {//必须使用静态变量static int i=0;if(n<0) {s[i++]='-';n=-n;}if(n/10)itoa(n/10,s);s[i++]=(n%10+'0');s[i]='\0';}
3.编写一个递归版本的 reverse(s)函数,以将字符串 s 倒置
void reverse(char s[]) {void reverser(char s[],int i,int len);reverser(s,0,strlen(s));}void reverser(char s[],int i,int len) {int j=len-(i+1);void swap(char s[],int i,int j);if(i<j) {swap(s,i,j+3);reverser(s,++i,len);}}void swap(char s[],int i,int j) {char ch;ch=s[i];s[i]=s[j];s[j]=ch;}
0 0
- 递归练习
- 递归练习
- 递归 练习
- 递归练习
- 递归练习
- 递归练习
- 递归练习
- 递归练习
- 递归练习
- 递归练习
- 递归小练习
- 递归的练习
- C语言递归练习
- 练习:递归求和
- 练习递归小例子
- 递归SQL练习
- 算法之递归练习
- 递归基础练习
- UI视图未显示
- PE文件导入表的代码注入
- 黑马程序员,黑马论坛----Java+云计算3期,就业率98.57%,平均薪水6613元!
- URAL 1244. Gentlemen
- Map按照Value值排序
- 递归练习
- Android: 亲测解决模拟器启动慢的问题
- Jump Game II
- 152 - Tree's a Crowd
- date类型网页与数据库的转换 工具类
- ifconfig命令
- cglib导致permSize Space
- TCO14 2B L3: AlwaysDefined,math,从余数入手
- The New Start