#include<stdio.h>
#include<string.h>
int main()
{
char a[500];
int n,len,begin,maxBegin,i,j;
scanf("%s",a);
n=strlen(a);
for(len=2;len<=n;len++)//子串的所有可能的长度,长度由短到长
{
maxBegin=n-len;
for(begin=0;begin<=maxBegin;begin++)//子串的开始点
{
j=begin+len-1;
for(i=begin;i<j;i++,j--) //判断当前子串(a[i]~a[begin+len-1]),判断是否回文串
{
if(a[i]!=a[j]) break;
}
if(i>=j)//是回文串
{
j=begin+len-1;
for(i=begin;i<=j;i++) printf("%c",a[i]);
printf("\n");
}
}
}
return 0;
}
回文
最新推荐文章于 2025-07-21 10:30:00 发布
本文介绍了一段使用C语言实现的代码,该代码能够检测输入字符串中的所有回文子串。通过双重循环和字符比较,程序遍历所有可能的子串长度,并检查每个子串是否为回文。
2694

被折叠的 条评论
为什么被折叠?



