void main() { Stack S=CreatStack(); MakeEmpty(S); Pop(S); printf("\n"); Push(1.2, S); printf("push(1.2),top(s):%f\n", Top(S)); Push(2, S); printf("push(2),top(s):%f\n", Top(S)); Push(3, S); printf("push(3),top(s):%f\n", Top(S)); Push(4.3, S); printf("push(4),top(s):%f\n", Top(S)); Pop(S); printf("pop(s),top(s):%f\n", Top(S)); Pop(S); printf("pop(s),top(s):%f\n", Top(S)); }
int main() { char *sign1 = (char*)malloc(sizeof(char)* 10); char *sign2 = (char*)malloc(sizeof(char)* 10); stack s = CreatStack(); while(scanf("%s", sign1) == 1) { printf("7%s7\n", Top(s)); printf("1%s1\n", sign1); if(Isempty(s)) { if(strcmp(sign1, "(") == 0 || strcmp(sign1, "[") == 0 || strcmp(sign1, "{") == 0 || strcmp(sign1, "begin") == 0) { printf("AAAAAAAAAAA\n"); Push(sign1, s); printf("3%s3\n", Top(s)); } else { printf("AWrong!!!\n"); break; } } else { printf("6%s6\n", Top(s)); if(strcmp(sign1, "(") == 0 || strcmp(sign1, "[") == 0 || strcmp(sign1, "{") == 0 || strcmp(sign1, "begin") == 0) { printf("BBBBBBBBBB\n"); Push(sign1, s); printf("4%s4\n", Top(s)); } else if(strcmp(sign1, ")") == 0 || strcmp(sign1, "]") == 0 || strcmp(sign1, "}") == 0 || strcmp(sign1, "end") == 0) { printf("2%s2\n", Top(s)); if((strcmp(Top(s), "(") == 0 && strcmp(sign1, ")") == 0) || (strcmp(Top(s), "[") == 0 && strcmp(sign1, "]") == 0)|| (strcmp(Top(s), "{") == 0 && strcmp(sign1, "}") == 0) || (strcmp(Top(s), "begin") == 0 && strcmp(sign1, "end") == 0)) { printf("CCCCCCCCCCCCCCCC\n"); Pop(s); } else { printf("BWrong!!!\n"); printf("5%s5\n", Top(s)); break; } } } } if(Isempty(s)) printf("You are right!\n"); else printf("CWrong!!!\n"); while(!Isempty(s)) { printf("%s\n", Top(s)); Pop(s); } return 0; }