查找字符串中是否出现"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,以表示程序运行成功。这个返回值并不会被输出,只是告诉操作系统,程序已经正常运行结束了。