1.题目
由键盘任意输入一个字符串,不用库函数strlen,求它的长度。
2.思路
先定义一个字符数组用来装字符串,在用gets()获得字符串,定义一个int型count用来统计字符串长度,下面用for循环,从0开始,直到字符为'\0'结束,for循环里count++,数组的下标每往后去一个count就加一次,最后输出count
3.代码
#include "stdio.h"
int main() {
char s[50];
int count = 0;
gets(s);
for (int i = 0; s[i] != '\0'; i++) {
count++;
}
printf("%s的长度为%d", s, count);
}
4.执行结果
递归法
1.说明
一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,当边界条件不满足时,递归前进;当边界条件满足时,递归返回。,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。
2.基本思想
1.建立递推关系
2.确定初始(边界)条件
3.斐波那契数列
有雌雄一对兔子,假定过两个月便可繁殖雌雄各一的一对小兔子。问过n个月后共有多少对兔子?
4.思路
递推关系:Fx=Fx-1+Fx-2
Fx=Fx-1+Fx-2 结束条件:F1=1,F2=1
5.代码实现
#include "stdio.h"
int fun(int n);
int main() {
int n;
scanf("%d", &n);
printf("第%d个月有%d只兔子", n, fun(n));
return 0;
}
int fun(int n) {
if (n == 1 || n == 2) {
return 1;
}
return fun(n - 1) + fun(n - 2);
}
6.执行结果