问答题 下列是判断是否为回文(顺读与逆读字符串一样,串中不含空格)的算法。 #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”); (1) ; ) char Pop(SegStack*s) //出栈 {if,(S一>Top==一1)printf(”Stack underflow”); return (2) ;} int IsHuiwen(char*S) {SeqStack T; int i,n;char tl; T.Top=一1; n=strlen(s); //求向量长度 for(i=0;i=0) {tl= (3) ; //每弹出一个字符与相应字符作比较 if( (4) ) return 0; //不相等则返回0 i一一; } return 1;1 //比较完毕均相等则返回1 void main() {if(IsHuiwen(Str))printf(“\n这个字符串是回文。”); else printf(“\n这个字符串不是回文。”); } 【北京交通大学2006七、2(8分)】
【正确答案】正确答案:(1)S一>data[++s一>Top]=x (2)S一>data Is一>Top一一] (3)S[i] (4)s[i]!=T[i]
【答案解析】