c语言代码实现输入若干个整数,依次入栈,依次出栈并输出元素值,以空格分隔
时间: 2023-05-31 18:06:04 浏览: 99
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
typedef struct {
int data[MAX_SIZE];
int top;
} Stack;
void init(Stack *s) {
s->top = -1;
}
int push(Stack *s, int value) {
if (s->top == MAX_SIZE - 1) {
return 0; // 栈满,入栈失败
}
s->top++;
s->data[s->top] = value;
return 1; // 入栈成功
}
int pop(Stack *s, int *value) {
if (s->top == -1) {
return 0; // 栈空,出栈失败
}
*value = s->data[s->top];
s->top--;
return 1; // 出栈成功
}
int main() {
Stack s;
init(&s);
int n, value;
printf("请输入整数个数:");
scanf("%d", &n);
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &value);
push(&s, value);
}
printf("出栈序列为:");
while (s.top != -1) {
pop(&s, &value);
printf("%d ", value);
}
printf("\n");
return 0;
}
```
阅读全文