c语言编写一个函数,接收一个字符串,统计其中任意两个及两个以上相邻字符相同的子串的个数。比如字符串"abbcccaddd"子串有"bb"、"cc"、"cc"、"dd"、"dd"、"ccc"和"ddd",共7个。函数原型为:int fun(const char *str
时间: 2023-07-06 10:20:50 浏览: 76
c语言字符串编程练习题[定义].pdf
好的,下面是代码:
```c
int fun(const char *str) {
int count = 0;
int len = strlen(str);
for (int i = 0; i < len - 1; i++) {
int j = i + 1;
while (j < len && str[j] == str[i]) {
j++;
}
int k = j - i;
count += k * (k - 1) / 2;
i = j - 1;
}
return count;
}
```
这个函数使用了双重循环来遍历字符串中的所有子串,并通过计算相同字符的个数来统计子串的数量。时间复杂度为O(n^2),其中n是字符串的长度。
阅读全文