PAT B1009
来源:互联网 发布:电子信息工程软件方向 编辑:程序博客网 时间:2024/06/08 00:23
题目链接
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
解法一
#include <iostream>#include <string>using namespace std;int main(){ string str[10]; getline(cin, str[0]); decltype(str[0].size()) j = 1; for (decltype(str[0].size()) i = 0; i < str[0].size(); i++) { if (!isspace(str[0][i])) str[j] += str[0][i]; else j++; } for (decltype(str[j].size()) i = j; i > 0; i--) { cout << str[i]; if (i != 1) cout <<" "; } return 0;}
解法二
#include<string>#include<iostream>#include<vector>using namespace std;int main() { string s,r; vector<string> v; getline(cin, s); for (decltype(s.size()) index = 0; index != s.size(); index++) { if(!isspace(s[index]) ){ r += s[index]; } else { v.push_back(r); r.clear(); } } v.push_back(r); for (auto rit = v.rbegin();rit !=v.rend(); rit++) { cout << *rit; if (rit != v.rend() - 1) cout << " "; } return 0;}
解法三
#include <iostream>#include <string>#include<sstream>#include<vector>using namespace std;int main(){ string line,s; vector<string> v; bool firstword = true; getline(cin, line); istringstream stream(line); while(stream>>s) v.push_back(s); for (auto rit = v.rbegin(); rit != v.rend(); rit++) { if (firstword) firstword = false; else cout << " "; cout << *rit; }}
阅读全文
1 0
- PAT B1009
- [PAT] B1009
- PAT B1009
- PAT B1009
- PAT B1009
- 浙大 PAT b1009
- PAT B1009.说反话
- PAT b1009题解
- PAT B1009.说反话
- PAT---B1009. 说反话 (20)
- B1009
- B1009
- PAT乙级练习题B1009. 说反话
- PAT B1009 说反话 关于scanf和其返回值EOF的应用
- B1009. 说反话 (20)
- B1009. 说反话 (20')
- pat
- 【PAT】
- MySQL系列—详解B+Tree
- 滑动窗口的最大值
- 度度熊的01世界 dfs
- HDU 6065 RXD, tree and sequence 分析+01背包
- Java反射机制
- PAT B1009
- HDU2795—Billboard 线段树
- 明日股票价格预测
- 各种icon图标(阿里巴巴矢量图)
- 最小树形图uva11865
- antd mobile(二)高清方案配置
- hdu6108小C的倍数问题(数论)
- ZOJ 3194 Coverage【贪心】【思维题】
- hashmap面试详解