#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define length 11
#define STACK_INIT_SIZE 31
#define OK 1
#define ERROR 0
#define OVERFLOW 0
#define STACKINCREMENT 10
typedef struct SqStack{
	char *base;
	char *top;
	int stacksize;
}SqStack;
int InitStack(SqStack &S){
	S.base = (char *)malloc(STACK_INIT_SIZE * sizeof(char));
	if(!S.base) exit (OVERFLOW);
	S.top = S.base;
	S.stacksize = STACK_INIT_SIZE;
	return OK;
}
int push(SqStack &S,char e){
	if (S.top - S.base>=S.stacksize){
		S.base = (char *) realloc (S.base,(S.stacksize + STACKINCREMENT) * sizeof (char));
		if (!S.base) return OVERFLOW;
		S.top = S.base + S.stacksize;
		S.stacksize += STACKINCREMENT;
	}
	*S.top++ = e;
	return OK;
}//push
int pop(SqStack &S,char &e) {
	if (S.top == S.base) return ERROR;
	e = * --S.top;
	return OK;
}//Pop
 main()//	½âÊÍħ¹íÓïÑÔ
{
	char *p,t,y;
	char str[length];
	printf("ÇëÊäÈë×Ö·û´®");
	gets(str);
	p=str;
SqStack s1,s2;
 InitStack(s1);
	while(*p!='\n')
	{
		switch(*p)
		{
		case'A':{
			t='s';
			push(s1,t);
			t='a';
			push(s1,t);
			t='e';
			push(s1,t);
				} break;
		case'B':{
			t='t';
			push(s1,t);
			t='s';
			push(s1,t);
			t='a';
			push(s1,t);
			t='e';
			push(s1,t);
			t='d';
			push(s1,t);
			t='s';
			push(s1,t);
			t='a';
			push(s1,t);
			t='e';
			push(s1,t);
				} break;
		case'(':{
			char *q,x;
			q=p;
			while(q!=")")
			{
				q++;
			}
			x=*(++p);
			++p;
			while(p!=q)
			{
				push(s1,x);
				push(s1,*p);
				p++;
			}
            push(s1,x);
			p=++q;
				} break;
		default:push(s1,*p); break;
			p++;
		}
	}
		InitStack(s2);
		while(s1.top!=s1.base)
		{
			pop(s1,y);
			push(s2,y);
		}
		while(s2.top!=s2.base)
		{
			pop(s2,y);
			switch(y)
			{
			case't':printf("Ìì"); break;
			case'd':printf("µØ"); break;
			case's':printf("ÉÏ"); break;
			case'a':printf("Ò»Ö»"); break;
			case'e':printf("¶ì"); break;
			case'z':printf("×·"); break;
			case'g':printf("¸Ï"); break;
			case'x':printf("ÏÂ"); break;
			case'n':printf("µ°"); break;
			case'h':printf("ºÞ"); break;
			}
		}
		return OK;
	}
麻烦帮忙看一下有什么问题,谢谢  
回复  更多评论