回文串

来源:互联网 发布:天刀曲无忆捏脸数据 编辑:程序博客网 时间:2024/05/22 13:26

用递归判断是否是回文串,    NYoj试练

#include<stdio.h>

#include<string.h>
int hwen(char *a,int i,int n)
{
    if(i>n/2)
    return 1;
    else
    return   a[i]==a[n-i-1] ? hwen(a,i+1,n) : 0;
}
int main()
{
    int n,i,j,l,m,flag;
    char s[110];
    scanf("%d",&n);
    while(n--)
    {
        scanf("%s",s);
        l=strlen(s);
        if(hwen(s,0,l))
        {
            printf("%s\n",s);
            continue;
        }
        for(i=0;i<l;i++)
        {
            flag=1; m=l;
            for(j=i;j>=0;j--)
            {
                s[m++]=s[j];
                s[m]='\0';
                if(hwen(s,0,m))
                {
                    flag=0;
                    break;
                }
            }
            if(flag==0)
             break;
        }
        printf("%s\n",s);
    }
     return 0;
}
原创粉丝点击