用C语言生成以下代码 请输入数据: 123456 *** 栈顶插入元素【9】*** 9654321 *** 删除栈顶元素 *** 654321
时间: 2024-04-23 13:19:32 浏览: 11
你可以使用C语言来实现一个栈数据结构,并通过栈的操作来生成上述代码。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <.h>
#define MAX_SIZE 100
typedef struct {
int data[MAX_SIZE];
int top;
} Stack;
void initStack(Stack *stack) {
stack->top = -1;
}
int isEmpty(Stack *stack) {
return stack->top == -1;
}
int isFull(Stack *stack) {
return stack->top == MAX_SIZE - 1;
}
void push(Stack *stack, int value) {
if (isFull(stack)) {
printf("栈已满,无法插入元素\n");
return;
}
stack->data[++stack->top] = value;
}
int pop(Stack *stack) {
if (isEmpty(stack)) {
printf("栈为空,无法删除元素\n");
return -1;
}
return stack->data[stack->top--];
}
int main() {
Stack stack;
initStack(&stack);
printf("请输入数据:\n");
char input[100];
scanf("%s", input);
// 将输入的数据依次入栈
for (int i = 0; input[i] != '\0'; i++) {
int value = input[i] - '0';
push(&stack, value);
printf("*** 栈顶插入元素【%d】***\n", value);
}
// 依次出栈并打印
while (!isEmpty(&stack)) {
int value = pop(&stack);
printf("%d", value);
printf("\n*** 删除栈顶元素 ***\n");
}
return 0;
}
```