设从键盘输入一整数的序列: a, a2,a3....,.n,试编写算法实现:用栈结构存储输入的整数,当a≠-1时,将a进栈;当a=-1时,输出栈顶整数并出栈.算法应对异常情况(入栈满等)给出相应的信息.
时间: 2024-05-05 21:18:47 浏览: 74
C++ 六种常用输入
对于您的问题,我理解您想要的是一个算法实现,我将提供一个Python版本的例子,希望对您有所帮助:
```
class Stack():
def __init__(self, capacity):
self.capacity = capacity
self.top = -1
self.stack = [0] * capacity
def push(self, num):
if self.top >= self.capacity - 1:
print("入栈失败,栈已满")
else:
self.top += 1
self.stack[self.top] = num
def pop(self):
if self.top < 0:
print("出栈失败,栈为空")
else:
num = self.stack[self.top]
self.top -= 1
return num
s = Stack(100)
while True:
a = int(input("请输入整数(-1表示结束):"))
if a != -1:
s.push(a)
else:
num = s.pop()
if num == None:
break
print(num)
```
以上是一个利用栈实现输入整数序列并输出的算法。当输入的整数序列超过栈的容量时,程序会提示入栈失败;当栈为空时,程序会提示出栈失败。希望这能够解决您的问题。
阅读全文