不用strlen()求字符串长度和递归法

简介: 由键盘任意输入一个字符串,不用库函数strlen,求它的长度。

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);
}
AI 代码解读

4.执行结果

image.png
递归法
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);
}
AI 代码解读

6.执行结果

image.png

目录
打赏
0
0
0
0
2
分享
相关文章
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现2
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现
深入了解字符(串)函数 -- -- 字符(串)函数的实现(strlen、strcpy、strcmp、strcat、strstr、)内存函数的实现(memcpy、memmove)
深入了解字符(串)函数 -- -- 字符(串)函数的实现(strlen、strcpy、strcmp、strcat、strstr、)内存函数的实现(memcpy、memmove)
58 0
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现1
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现
101 6
|
9月前
|
[字符串和内存函数]strcat和strncat的区别
[字符串和内存函数]strcat和strncat的区别
97 0
|
9月前
|
[字符串和内存函数]strcpy和strlen字符串函数的详解和模拟
[字符串和内存函数]strcpy和strlen字符串函数的详解和模拟
83 0
虎头虎脑的sizeof、strlen、数组长度、数组中元素个数和字符串长度
虎头虎脑的sizeof、strlen、数组长度、数组中元素个数和字符串长度
129 0
【strlen】三种方法模拟实现strlen字符串函数
【strlen】三种方法模拟实现strlen字符串函数
114 0
【strlen】三种方法模拟实现strlen字符串函数
利用函数求字符串长度
利用函数求字符串长度
84 0
C++ 递归和非递归实现字符串反转 char *reverse(char *s)
C++ 递归和非递归实现字符串反转 char *reverse(char *s)
113 0
leetcode 28 找出字符串第一个匹配的下标(KMP实现strStr)
leetcode 28 找出字符串第一个匹配的下标(KMP实现strStr)
105 0
leetcode 28 找出字符串第一个匹配的下标(KMP实现strStr)

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等