解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:896 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:840 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:625 |
1009题解浏览:721 |
模拟计算器 (C++代码)浏览:800 |
企业奖金发放 (C语言代码)浏览:2313 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:527 |
1197求助浏览:627 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:614 |
老王赛马 (C++代码)浏览:901 |