项城网站建设,培训心得体会总结简短,有什么网站可以做平面兼职,wordpress 整站加密目录 递归使用场景
1:使用递归的方式计算 Sn123..100
2#xff1a;计算 n#xff01;n*(n-1)*(n-2)*......*1;
3:计算输出斐波那契数列前20项#xff0c;并按每行4个数的格式输出(2019年#xff09;
4#xff1a; 用递归和非递归两种方式编写函数strlength()。该函数…目录 递归使用场景
1:使用递归的方式计算 Sn123..100
2计算 nn*(n-1)*(n-2)*......*1;
3:计算输出斐波那契数列前20项并按每行4个数的格式输出(2019年
4 用递归和非递归两种方式编写函数strlength()。该函数与库函数strlen()功能相同。返回参数字符串的长度(整形)不允许调用任何库函数.(2015年 递归使用场景
问题有规律可循通向公式
具有递归的结束条件明确的值
递归框架if配合
结束条件成立返回已知值结束递归
结束条件不成立进行递归 1:使用递归的方式计算 Sn123..100 通向 公式 如果 n1 返回1
否则返回 nfn-1
#includestdio.h
int add(int n)
{if (n 1) return 1;else return n add(n - 1);
}
void main()
{printf(%d, add(100));
} 2计算 nn*(n-1)*(n-2)*......*1;
找通向公式 当n0或者1 的时候为终止条件返回1
否则 n*(n-1)! #includestdio.h
int fac(int n)
{if (n 1) return 1;else return n*fac(n-1);
}
void main()
{printf(%d, fac(3));
} 3:计算输出斐波那契数列前20项并按每行4个数的格式输出(2019年 找通向公式 n1 的时候返回1 n 2的时候返回1
否则就返回 前两项之和 f(n-1)f(n-2)
#includestdio.h
int fib(int n)
{if (n 1|| n2) return 1;else return fib(n - 1) fib(n - 2);
}void main()
{int i;for (i 1; i 20; i) {printf(%8d, fib(i));if (i % 4 0) printf(\n); }4 用递归和非递归两种方式编写函数strlength()。该函数与库函数strlen()功能相同。返回参数字符串的长度(整形)不允许调用任何库函数.(2015年
字符串长度不包括\0
把字符串一点一点弄短 大事化小事
//不适用递归
int strlength(char *s)
{int n 0;while (*s) n;return n;
}
#includestdio.h
//递归方式大事化小
int strlength(char *s)
{if (*s\0) return 0;else return 1 strlength(s1);//往后挪一个这里是地址加1
}
void main()
{char s[100];gets(s);printf(%d, strlength(s));
}