c语言每行输入两个字符串,求第一个字符串包含多少个第二个字符串
时间: 2023-05-27 10:03:11 浏览: 136
以下是一种可能的C语言实现:
```
#include <stdio.h>
#include <string.h>
int countSubstring(char* s, char* t) {
int count = 0;
int lenS = strlen(s);
int lenT = strlen(t);
for (int i = 0; i <= lenS - lenT; i++) {
if (strncmp(s + i, t, lenT) == 0) {
count++;
}
}
return count;
}
int main() {
char s[100], t[100];
while (scanf("%s%s", s, t) == 2) {
printf("%d\n", countSubstring(s, t));
}
return 0;
}
```
首先定义了一个函数`countSubstring`,用于计算字符串`s`中包含多少个字符串`t`。该函数通过双重循环遍历字符串`s`,在每个位置检查子串是否与`s`的某一段相等。如果相等,则计数器递增。具体实现中利用了C标准库函数`strlen`和`strncmp`。`strlen`用于计算字符串长度,`strncmp`提供了字符串比较功能,且可以指定比较的长度。
在主函数中,利用循环和`scanf`函数读取输入的每一行字符串,然后调用`countSubstring`函数计算结果并输出。注意,`scanf`函数返回值为成功读取的参数个数,如果不等于2,说明输入格式错误,应该退出程序。
阅读全文