废话不说,直接上AC代码
#include <bits/stdc++.h>
using namespace std;
const int MAX = 110;
char s[MAX];
int main()
{
cin >> s + 1;
int n = strlen(s + 1);
// 确定回文子串的长度
for (int len = 2; len <= n; len++)
{
// 定起点
for (int i = 1; i <= n - len +1; i++)
{
bool flag = true;
for (int j = 0; j < len / 2; j++) // j为偏移量,i为基底
{
if (s[i + j] != s[i + len - 1 - j])
{
flag = false;
break;
}
}
if (flag)
{
for (int j = 0; j < len; j++) // j为偏移量,i为基底
{
cout << s[i + j];
}
cout << endl;
}
}
}
return 0;
}