openjudge6255 单词翻转
时空限制 1000ms/64MB
描述
输入一个句子(一行),将句子中的每一个单词翻转后输出。
输入
只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。
输出
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
样例输入
hello world
样例输出
olleh dlrow
代码
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
getline(cin,s);
s += " ";
bool IN=false; //是否在单词内
int k=0;
for (int i=0; i<s.size(); i++)
if (s[i]==' '){ //出现空格,s[i]在单词外
for (int j=i-1; j>=i-k; j--) cout<<s[j]; //逆序输出
cout<<s[i]; //输出空格
IN = false; //标记置零
k = 0; //单词长度置零
}
else IN=true,k++; //非间隔,s[i]在单词内
cout<<endl;
return 0;
}