解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:987 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:681 |
1011题解浏览:765 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:695 |
剪刀石头布 (C语言代码)浏览:1436 |
简单的事情 (C语言代码)浏览:638 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:555 |
最好的,浏览:563 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:592 |
1392题解(大数相加)浏览:604 |