Reverse Sequence
Aizu - 0006
Write a program which reverses a given string str.
Input
str (the size of str ≤ 20) is given in a line.
Output
Print the reversed str in a line.
Sample Input
w32nimda
Output for the Sample Input
admin23w
问题简述:(略)
问题分析:(略)
程序说明:构建了一个自己的堆栈来处理字符串逆序处理。
采用字符流处理,就不需要输入和输出缓存了。然而,需要更高的编程技巧,也需要考虑流处理的细微末节问题。
需要注意结束条件。
题记:(略)
参考链接:(略)
AC的C语言程序如下:
/* AOJ0006 Reverse Sequence */
#include <stdio.h>
#define N 20
char stack[N];
int ps;
void push(char c)
{
stack[ps++] = c;
}
char pop()
{
return stack[--ps];
}
int main(void)
{
char c;
ps = 0;
for(;;) {
c = getchar();
if(c == '\n' || c == EOF) {
while(ps)
putchar(pop());
if(c != EOF)
putchar(c);
} else
push(c);
if(c == EOF)
break;
}
return 0;
}