noi--1.7--34题回文子串

#include<stdio.h>
#include<string.h>
int main()
{
    char a[501],b[501],c[501];//a[]为从键盘输入的数组,b[]存储顺序子串,c[]存储逆序的b[]子串
    int i,j,k=2,len;//k为子串长度
    gets(a);//输入字符串a[]
    len=strlen(a);
    while(k<len+1)//k为子串的长度
    {
        for(i=0; i<=strlen(a)-k+1; i++)//i<=strlen(a)-k+1保证j<i+k(j==i+k-1)时不超过a[]的长度范围
        {
            int y=0,z=0;
            for(j=i; j<i+k; j++)//存k长度的子串的b[]中
            {
                b[y]=a[j];
                y++;
            }
            b[y]='\0';//'\0'是字符串结束的标志
            for(j=y-1; j>=0; j--)//将b[]逆序存储到c[]
            {
                c[z]=b[j];
                z++;
            }
            c[z]='\0';
            if(strcmp(b,c)==0)//等于0即b与c相等,即为回文字符串
                puts(b);
        }
        k++;//子串长度增加
    }
    return 0;
}



posted @ 2019-12-09 16:56  神与坤(T—T)  阅读(531)  评论(0)    收藏  举报