解题思路:
注意事项:
参考代码:
#include <stdio.h>
#include <stdlib.h>
#define len sizeof(Stack)
typedef struct s {
int data[1000];
int top;
}Stack;
void pushstack(Stack* h, int n) {
h->top++;
h->data[h->top] = n;
}
void popstack(Stack* h) {
if (h->top == -1) {
return NULL;
}
else {
h->top--;
}
}
void printstack(Stack* h) {
if (h->top == -1) {
printf("E\n"); //换行记得!!!
}
else {
printf("%d\n", h->data[h->top]);
}
}
int main() {
Stack* h;
h = (Stack*)malloc(len);
h->top = -1;
int n, t;
char s;
while (scanf("%d", &n)&&n){
for (int i = 0; i < n; i++) {
getchar();
scanf("%c", &s);
if (s == 'P') {
scanf("%d", &t);
pushstack(h, t);
}
else if (s == 'O') {
popstack(h);
}
else if (s == 'A') {
printstack(h);
}
}
h->top=-1; //每个测试样例过后,栈都清空
printf ("\n");
}
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复