回文字符问题
- 小弟有一事不懂,求回文字符如“leael"如下所示
main()
{
char t[50];
int n,a,b,m,p;
printf ("enter a word\n");
scanf ("%s",t);
printf ("%d\n",n=strlen(t));/*求字长,并负给n*/
if (n%2!=1)/*判段是偶数*/
{
a=n/2;b=n/2+1;/*偶数从中间开示向两边判段*/(如6886以第2,3个数为中间,以a=n/2;b=n/2+1为表达试)
for ( ;t[a]==t[b];a--,b++)/*判段字符是否相等*/
{
if(a==-1)/*如果相等,则循个换到a=-1结束*/
printf ("yes\n" );
}
printf ("no\n");
}
else
{
m=n/2-1;p=n/2+1;/*奇数则从n/2为中间*/
for ( ; t[m]==t[p];p++,m--)
{
if ( m==-1)
printf ("yes\n");
}
printf ("no\n");
}
}