HDU1062 Text Reverse
【题目】
【分析】根据栈后进先出的特点可以逆序输出一行文本:依次读取每个输入的字符的值,若是结尾符或是空格或是换行符则弹出栈里的元素;否则将字符元素入栈。
当接收的字符元素为结尾符或换行符号时候退出当前行对字符的读取。
AC的C++代码如下:
#include <iostream>
#include <stack>
using namespace std;
int main()
{
int n;
char ch;
stack<char> s;
cin >> n;
getchar();
for(int i = 0;i < n;i++)
{
while(true)
{
ch=getchar();
if(ch==' '||ch=='\n'||ch==EOF)
{
while(!s.empty())
{
cout << s.top();
s.pop();
}
if(ch=='\n'||ch==EOF)
break;
cout << " ";
}
else
s.push(ch);
}
cout << endl;
}
return 0;
}