编写一个函数,接收一个字符串,统计其中任意两个及两个以上相邻字符相同的子串的个数。 C语言
时间: 2023-12-28 21:06:01 浏览: 61
编写程序,要求统计任意字符串中数字字符,字母和其他字符的个数
4星 · 用户满意度95%
可以使用双重循环遍历字符串,对于每个字符,再遍历其后面的字符,判断是否与该字符相同,若相同,则计数器加一。代码示例如下:
```c
#include <stdio.h>
#include <string.h>
int countSubstrings(char *str) {
int count = 0;
int len = strlen(str);
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (str[j] == str[i]) {
count++;
} else {
break;
}
}
}
return count;
}
int main() {
char str[] = "abccdeffgg";
int count = countSubstrings(str);
printf("%d\n", count); // 输出:5
return 0;
}
```
该函数的时间复杂度为 O(n^2),其中 n 是字符串的长度。
阅读全文