编写程序,从键盘输入10个数据压入栈中,然后从栈中依次弹出这些数据并输出。
时间: 2023-04-26 17:00:28 浏览: 64
可以使用数组模拟栈的数据结构,先从键盘输入10个数据,然后依次将它们压入栈中。接着,从栈顶开始依次弹出这些数据并输出即可。
具体实现步骤如下:
1. 定义一个数组作为栈,同时定义一个变量 top 表示栈顶元素的下标,初始值为 -1。
2. 从键盘输入 10 个数据,依次将它们压入栈中。具体实现可以使用 for 循环,每次将输入的数据存入栈顶位置(即 top+1),并将 top 加 1。
3. 从栈中依次弹出这些数据并输出。同样使用 for 循环,每次输出栈顶元素(即 top 位置的数据),并将 top 减 1。
完整代码如下:
#include <stdio.h>
#define MAX_SIZE 10
int stack[MAX_SIZE];
int top = -1;
int main() {
int i, data;
// 从键盘输入 10 个数据并压入栈中
printf("请输入 10 个数据:\n");
for (i = 0; i < MAX_SIZE; i++) {
scanf("%d", &data);
stack[top+1] = data;
top++;
}
// 从栈中依次弹出数据并输出
printf("从栈中依次弹出的数据为:\n");
for (i = 0; i < MAX_SIZE; i++) {
printf("%d ", stack[top]);
top--;
}
return 0;
}