C语言:键入一个不超过100字符的字符串,输出其中最长子字符串和它的长度。咋写?

要求是“最长回文子字符串”。

代码文本:

#include "stdio.h"

int main(int argc,char *argv[]){

char str[101],i,j,k,x,y,m,f;

printf("Enter a string...\nstr=");

scanf("%100s",str);

for(k=0;str[k];k++);

for(f=m=i=0;i<k;i++)

for(j=k-1;j>i;j--)

if(str[j]==str[i]){

for(y=j,x=i;x<y;x++,y--)

if(str[x]-str[y])

break;

if(x>=y && m<=j-i){

m=j-i+1;

f=i;

break;

}

}

printf("\nThe longest palindromic substring is\n\t\'"); 

for(i=0;i<m;putchar(str[f++]),i++);

printf("\'\nThe length is %d\n",m);

return 0; 

}

温馨提示:答案为网友推荐,仅供参考