用c语言求最长对称子串
时间: 2023-11-16 19:11:01 浏览: 105
以下是使用C语言实现的最长对称子串的代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100], temp[100];
int i, j, k, len, max = 0;
printf("请输入字符串:");
scanf("%s", str);
len = strlen(str);
// 枚举所有的子串
for (i = 0; i < len; i++)
{
for (j = i + 1; j < len; j++)
{
// 判断是否为对称子串
for (k = i; k <= j; k++)
{
temp[k - i] = str[k];
}
temp[k - i] = '\0';
if (strcmp(temp, strrev(temp)) == 0)
{
// 更新最长对称子串的长度
if (j - i + 1 > max)
{
max = j - i + 1;
}
}
}
}
printf("最长对称子串长度为:%d\n", max);
return 0;
}
```
该程序通过枚举所有的子串,并判断其是否为对称子串来找出最长的对称子串。其中,使用了 `strrev` 函数来翻转字符串。
阅读全文