首先,回文就是一句话中的所有字关于中心对称,也就是说第一个字符和最后一个字符一样,第二个字符与倒数第二个字符一样,以此类推,比如:“上海自来水来自海上”。
在编程中实现:其核心是将头一个与末尾一个做对比,是的话将头++,尾--,比较下一对;
#include<stdio.h>
#include<string.h>int main()
{
char a[1000];
int n,i,Head,End;
while(gets(a))
{
End = strlen(a)-1;
Head = 0;
if(End == 0)
{
printf("Yes!\n");
continue;
}
while(Head<=End)
{
if(a[Head] == a[End])
{
Head++;
End--;
n = 1; ///n为标记的数,n=1时为回文;
}
else
{
n = 0;
break;
}
}
if(n == 1)
printf("Yes!\n");
else
printf("No!\n");
}
return 0;
}