下列是判断是否为回文(顺读与逆读字符串一样,串中不含空格)的算法。(北京交通大学 2006 年) #include
#include
#include
#define StackSize 100 // 定义栈类型 typedef struct{ char data[StackSize]; int top; }SeqStack; char Str[100]= “madamimadam”; void Push(SeqStack *s, char x) // 进栈 { if(s->top==StackSize-1) printf(“Stack Overflow”); ; } char Pop(SeqStack *s) // 出栈 { if(s->top==-1) printf(“Stack underflow”); return ; } int IsHuiWen(char *s) { SeqStack T; int i, n; char t1; T.top=-1; n=strlen(s); // 求向量长度 for(i=0;i
=0) { t1= ; // 每弹出一个字符与相应字符做比较 if( ) return 0; i--; } return 1; } void main() { if(IsHuiWen(Str) printf(“\n 这个字符串是回文。 ”); else printf(“\n 这个字符串不是回文。 ”) }