1144:单词翻转
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 49752 通过数: 21804
【题目描述】
输入一个句子(一行),将句子中的每一个单词翻转后输出。
【输入】
只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。
【输出】
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
【输入样例】
hello world
【输出样例】
olleh dlrow
参考代码:C++
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s, w[500];
getline(cin, s);
int wi = 0, b = 0;
for (int i = 0; i <= s.length(); i++)
{
if (s[i] == ' ' || s[i] == '\0')
{
w[wi++] = s.substr(b, i - b);//截取字符串,从b开始截取i-b个字符
b = i + 1;
}
}
for (int i = 0; i < wi; i++)
{
reverse(w[i].begin(), w[i].end());//将字符串s前后颠倒
cout << w[i] << ' ';
}
return 0;
}