c语言统计其中任意两个及两个以上相邻字符相同的子串的个数。
时间: 2024-02-13 08:06:23 浏览: 32
以下是一个简单的C语言程序,用于统计一个字符串中任意两个及两个以上相邻字符相同的子串的个数:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len, count = 0;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (str[i] == str[j]) {
count++;
for (int k = i + 1, l = j + 1; k < j && l < len; k++, l++) {
if (str[k] == str[l]) {
count++;
} else {
break;
}
}
}
}
}
printf("任意两个及两个以上相邻字符相同的子串的个数为:%d\n", count);
return 0;
}
```
该程序首先读取用户输入的字符串,然后使用嵌套的for循环遍历字符串中的所有字符对,统计相邻字符相同的子串的个数。具体地,程序使用i和j两个循环变量遍历字符串中的所有字符对,如果字符对相同,则使用k和l两个循环变量从i+1和j+1的位置开始遍历字符串,统计任意两个及两个以上相邻字符相同的子串的个数。最后,程序输出统计结果。