用c语言编写一个函数,接收一个字符串,统计其中任意两个及两个以上相邻字符相同的子串的个数。
时间: 2023-12-29 13:02:24 浏览: 76
c语言实现统计每个字符的个数
4星 · 用户满意度95%
好的,下面是 C 语言的实现:
```c
#include <stdio.h>
#include <string.h>
int count_adjacent_chars(char *s) {
int count = 0, i, j;
int len = strlen(s);
for (i = 0; i < len - 1; i++) {
if (s[i] == s[i + 1]) {
j = i + 2;
while (j < len && s[j] == s[i]) {
j++;
}
count += (j - i) * (j - i - 1) / 2;
}
}
return count;
}
int main() {
char s[100];
printf("请输入字符串:");
scanf("%s", s);
printf("相邻字符相同的子串个数为:%d\n", count_adjacent_chars(s));
return 0;
}
```
这个函数和 Python 版本的思路是一样的。不同的是,C 语言中没有字符串类型,需要使用字符数组来表示。同时,C 语言中的整数除法运算 `/` 得到的结果是向下取整的,因此需要使用整数除法运算 `//` 来得到组合数的值。
阅读全文