hdu1062 Text Reverse(文字反转stack)

 


题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1062


 

题目描述:

伊格纳修斯喜欢用相反的方式写词。给定由Ignatius编写的单行文本,您应该反转所有单词,然后输出它们。


 

输入值
输入包含几个测试用例。输入的第一行是单个整数T,它是测试用例的数量。随后是T测试用例。
每个测试用例包含一行,并包含多个单词。一行中最多有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 }

 

posted on 2020-04-05 16:49  恒晨  阅读(253)  评论(0编辑  收藏  举报

导航