题目:求一个字符串中的最大回文子串 #include<iostream> #include<cstdio> #include<cctype> #include<cstring> using namespace std; const int MAXN=200; char outstr[MAXN],s[MAXN]; int main() { int i,j,k,m=0,max=0; int start,end; fgets(s,sizeof(s),stdin); int length=strlen(s); for(i=0;i<length;i++) for(j=i;j<length;j++) { int ok=1; for(k=i;k<=j;k++) { if(s[k]!=s[i+j-k]) ok=0; } if(ok && j-i+1>max) { max=j-i+1; start=i; end=j; } } for(int i=start;i<=end;i++) outstr[m++]=s[i]; outstr[m]='\0'; cout<<"最大回文子串为:"<<outstr<<endl; cout<<"长度:"<<max<<endl; }