输入一个句子(一行),将句子中的每一个单词翻转后输出。
收起
输入
只有一行,为一个字符串(只包含小写字母),不超过1000个字符。单词之间用空格隔开。
输出
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
输入样例
z wtg bqd dvhfi axpu u gpu
输出样例
z gtw dqb ifhvd upxa u upg
#include <bits/stdc++.h>
using namespace std;
string reverseWords(string s)
{
string ret;
string tmp;
for(int i = 0; i < s.size(); i++)
{
if(s[i] == ' ')
{
if(tmp.size() > 0)
{
reverse(tmp.begin(),tmp.end());
ret = ret + ' ' + tmp;
}
tmp = "";
}
else
{
tmp = tmp +s[i];
}
}
if(s[s.size() - 1] != ' ')
{
reverse(tmp.begin(),tmp.end());
ret = ret + ' ' + tmp;
}
ret.erase(0,1);
return ret;
}
int main(void){
string nums;
//cin >> nums;
getline(cin, nums);
cout << reverseWords(nums) << endl;
return 0;
}