最长回文串

输入一个字符串,求出其中的最长回文字串,样例输入;

Confucicss say:Madam,I‘m Asam。

样例输出:Masam,I'm Asam。

 这个题首先要判断最长那个回文串的位置,并且与大小写无关,用到函数(toupper);然后输出后面的字符串。

#include  
#include 
#include 
#include 
using namespace std;
#define MAX 5000+10
char hk[MAX], ls[MAX];
int l[MAX];
int main()
{
 int a,b=0,max=0;
 int j,i,k,X,Y;
 fgets(hk,sizeof(ls),stdin);//字符转到控制台
 for(a=0;a=0&&i+jmax)
     {
      max=j*2+1;
      X=l[i-j];
      Y=l[i+j];
     }
   }
   for(j=0;i-j>=0&&i-j+1max)
     {
      max=j*2+2;
      X=l[i-j];
      Y=l[i+j+1];
     }
   }
   for(i=X;i<=Y;i++)
   {
  cout<


 


开始没用toupper函数,用+-32。好像string也可以。

你可能感兴趣的:(最长回文串)