#include<stdio.h> #include<stdlib.h> typedef struct node{ int data; struct node *next; }node; node *head; void pop(); void push(int a); void stack_a(); int main() { int n,i,a,count=0; char ch[2]; while(scanf("%d",&n)&&n) { head=NULL; for(i=0;i<n;i++) { scanf("%s",ch); if(ch[0]=='P') { scanf("%d",&a); push(a); count++; } else if(ch[0]=='O') { if(count!=0) { pop(); count--; } else count=0; } else if(ch[0]=='A') { stack_a(); } } printf("\n"); } } void push(int a) { node *p; p=(node*)malloc(sizeof(node)); if(head==NULL) { p->data=a; p->next=NULL; head=p; } else { p->data=a; p->next=head; head=p; } } void pop() { node *p; //p=(node*)malloc(sizeof(node)); if(head!=NULL) { p=head; head=head->next; free(p); } // else printf("\n"); } void stack_a() { node *p; p=head; if(head==NULL) printf("E\n"); else printf("%d\n",p->data); }
0.0分
0 人评分
C二级辅导-计负均正 (C语言代码)浏览:517 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1533 |
【计算直线的交点数】 (C语言代码)浏览:1450 |
关于C语言变量位置的问题浏览:272 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:560 |
1014题解浏览:485 |
A+B for Input-Output Practice (C语言代码)浏览:468 |
简单的a+b (C语言代码)浏览:546 |
C二级辅导-统计字符 (C语言代码)浏览:481 |
敲七 (C++代码)浏览:1056 |