用C语言数据结构实现字符串的倒序输出
时间: 2024-05-12 22:18:41 浏览: 83
C语言实现字符串倒序输出
5星 · 资源好评率100%
可以使用栈这种数据结构来实现字符串的倒序输出。具体实现步骤如下:
1. 将字符串中的每个字符依次入栈。
2. 从栈顶开始依次弹出栈中的每个字符,并输出即可。
实现代码如下(仅为示例):
```
#include <stdio.h>
#include <string.h>
#define MAXSIZE 100
typedef struct {
char data[MAXSIZE];
int top;
} Stack;
void push(Stack *s, char c) {
if (s->top == MAXSIZE - 1) {
printf("Stack is full\n");
return;
}
s->data[++s->top] = c;
}
char pop(Stack *s) {
if (s->top < 0) {
printf("Stack is empty\n");
return '\0';
}
return s->data[s->top--];
}
void reverse(char *str) {
Stack s;
s.top = -1;
int n = strlen(str);
for (int i = 0; i < n; i++) {
push(&s, str[i]);
}
for (int i = 0; i < n; i++) {
putchar(pop(&s));
}
}
int main() {
char str[MAXSIZE];
printf("Please enter a string: ");
fgets(str, MAXSIZE, stdin);
printf("Output: ");
reverse(str);
return 0;
}
```
注意:这里使用了一个结构体来实现栈,数据类型为 char,栈的最大容量为 MAXSIZE。字符串的输入使用 fgets 函数,可以读取包括空格在内的一行字符串。
阅读全文