用递归判断是否是回文串, 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;
}