#include<stdio.h>
#include<string.h>
int main()
{
char a[101], s[101];
int i,len,mid,next,top;
gets(a); //读入一行字符串
len = strlen(a); //求字符串的长度
mid = len / 2 - 1; //求字符串的中点
top = 0; //栈初始化
for(i=0; i<=mid; i++) //将mid前的字符依次入栈
{
s[++top] = a[i];
}
if(len % 2 == 0) //判断字符串的长度是奇数还是偶数,找出需要进行字符匹配的其实下标
{
next = mid + 1;
}
else
{
next = mid + 2;
}
for(i=next; i<=len-1; i++) //开始匹配
{
if(a[i]!=s[top])
break;
top -- ;
}
if(top == 0) //说明栈内所有元素被一一匹配
{
printf("Yes");
}
else
{
printf("No");
}
getchar();getchar();
return 0;
}
五十.用栈判断回文数
最新推荐文章于 2023-04-03 22:27:15 发布