查找字符串中是否出现"the"这个串

查找字符串中是否出现"the"这个串。如果查到显示出现的次数;如果未找到显示0。
多组测试数据,每组输入一个字符串,以回车符结束。
如果查到显示出现的次数;如果未找到则显示0。
Sample Input:

the People's Republic of China
thehe
abcdth
Sample Output:

1
1
0

直接上代码

#include <stdio.h>
#include <string.h>

int main() {
    char str[100];
    int count;

    // 读取多个测试数据
    while (fgets(str, sizeof(str), stdin)) {
        count = 0;
        char *p = str;

        // 在当前字符串中查找"the"子串
        while ((p = strstr(p, "the"))) {
            count++;
            p++;
        }

        // 输出出现次数
        printf("%d\n", count);
    }

    return 0;
}


在程序中,使用了fgets函数来读取每个测试数据。fgets函数可以从标准输入流(例如键盘输入)中读取一行字符串,直到读取到换行符为止。可以将读取到的字符串存储在一个字符数组中,例如char str[100]。

在程序中,还定义了一个变量count来记录"the"子串出现的次数。我们在每次查找到一个"the"子串时,就将count加一。最后,我们输出count的值,即为该测试数据中"the"子串的出现次数。

在每次查找"the"子串时,使用了strstr函数。strstr函数可以在一个字符串中查找另一个字符串,并返回查找到的字符串的指针。将p指针初始化为当前字符串的起始位置,然后在每次查找到一个"the"子串时,就将指针向前移动一位,继续查找下一个"the"子串。这样,就可以遍历整个字符串,查找其中所有的"the"子串了。

最后,在程序的末尾返回了0,以表示程序运行成功。这个返回值并不会被输出,只是告诉操作系统,程序已经正常运行结束了。