帮我用c语言写查找字符串中“bbbbBlueBBlueBBLL”有几个“Blue”串代码
时间: 2024-10-29 07:13:54 浏览: 17
在C语言中,我们可以编写一段代码来查找给定字符串"bbbbBlueBBlueBBLL"中"Blue"子串的个数。这里是一个简单的示例,我们使用遍历的方式:
```c
#include <stdio.h>
#include <string.h>
int count_substrings(char* str, char* sub) {
int count = 0;
int len1 = strlen(str);
int len2 = strlen(sub);
for (int i = 0; i <= len1 - len2; i++) {
if (str[i] == sub[0]) { // 初始检查字符是否相等
int match = 1; // 记录已匹配的字符数量
for (int j = 1; j < len2; j++) {
if (str[i + j] != sub[j]) {
match = 0;
break;
}
}
if (match) { // 如果匹配完成,计数++
count++;
}
}
}
return count;
}
int main() {
char str[] = "bbbbBlueBBlueBBLL";
char sub[] = "Blue";
int result = count_substrings(str, sub);
printf("'%s'中有%d个'%s'子串。\n", str, result, sub);
return 0;
}
```
这段代码首先计算了输入字符串和子字符串的长度,然后通过嵌套循环遍历主字符串。外部循环控制每次尝试查找的位置,内部循环检查当前位置及其后的子串是否匹配。当匹配时,计数器`count`递增。
阅读全文