栈的应用:回文数字
栈的实现:1.一维数组
2.top(数组下标)
栈的定义:只能在尾端进行插入或删除操作
#include<stdio.h>
#include<stdlib.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;
//将mid前的元素全部入栈(含mid)
for(i=0;i<=mid;i++){
top++;
s[top]=a[i];
//可以简写为 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");
return 0;
}