文章

1

粉丝

100

获赞

0

访问

555

头像
堆栈的使用 题解:
P1372 吉林大学机试题
发布于2024年3月21日 16:14
阅读数 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%,最后一行需要手动输入换行符才能得到正确输出,求回答

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发