#include "stdafx.h" #include"stdio.h" #define N 10 int stack[N]; int top; int f; int push(int data) { if(top >= N-1) { puts("/npush error"); return (-1); } else { top++; stack[top] = data; } printf(" now top is %d",top); return 1; } int pop() { int i; if(top >= 0) { i = stack[top]; top--; return i; } else { f = 0; //表示弹出失败 puts("/npop error"); } } void prt() { int i; printf("/n"); for(i = 0; i <= top; i++) { printf("%4d",stack[i]); } } int main() { int data; int select; int cycle; int f = 1; top = -1; cycle = 1; do { puts("/n*******************************"); printf("(1) push data/t"); printf("(2) pop data/t"); printf("(3) exit/t"); printf("(4) prt stack/t"); printf("/ninput you select: "); scanf("%d",&select); switch(select) { case 1: { printf("input push data: "); scanf("%d",&data); if(push(data) == -1) { printf("/npush error"); } break; } case 2: pop(); break; case 3: cycle = 0; break; case 4: prt(); break; } }while(cycle); return 0; }