hdu1062 Text Reverse(文字反转stack)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1062
题目描述:
伊格纳修斯喜欢用相反的方式写词。给定由Ignatius编写的单行文本,您应该反转所有单词,然后输出它们。
输入值
输入包含几个测试用例。输入的第一行是单个整数T,它是测试用例的数量。随后是T测试用例。
每个测试用例包含一行,并包含多个单词。一行中最多有1000个字符。
每个测试用例包含一行,并包含多个单词。一行中最多有1000个字符。
输出量
对于每个测试用例,您应该输出已处理的文本。
样本输入
3
olleh !dlrow
m'I morf .udh
I ekil .mca
样本输出
hello world!
I'm from hdu.
I like acm.
暗示
请记住,在整数T之后使用getchar()读取'\ n',然后可以使用gets()读取一行并进行处理。1 #include <bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 int n; 5 char ch; 6 scanf("%d",&n); 7 getchar(); 8 while(n--){ 9 stack<char> s; 10 while(true){ 11 ch=getchar(); 12 if(ch=='\n'||ch==' '||ch==EOF){ 13 while(!s.empty()){ 14 printf("%c",s.top()); 15 s.pop(); 16 } 17 if(ch=='\n'||ch==EOF) break; 18 printf(" "); 19 } 20 else s.push(ch); 21 } 22 printf("\n"); 23 } 24 return 0; 25 }