文章
1
粉丝
100
获赞
0
访问
555
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
int *stack= (int *) malloc((n+1) *sizeof(int));
int top = -1;
int i;
for(i=0; i<n; i++)
{
char temp;
getchar();
scanf("%c",&temp);//
if(temp == 'O')
{
if(top != -1)
{
top--;
}
else
continue;
}
else if(temp == 'P')
{
int index;
scanf("%d",&index);
stack[++top] = index;
}
else if(temp == 'A')
{
if(top == -1)
{
printf("E\n");
}
else
printf("%d\n",stack[top]);
}
}
free(stack);
}
return 0;
}
输入数据
3
A
P 5
A
4
P 3
P 6
O
A
你的输出
E
5
正确输出
E
5
3
求问,正确率只有80%,最后一行需要手动输入换行符才能得到正确输出,求回答
登录后发布评论
暂无评论,来抢沙发