単語の順序を反転(C++)
754 ワード
タイトル:
各単語間がスペースで区切られ、各単語の文字は順序ですが、単語間の順序は逆順序です.
単語のシーケンスを反転させるアルゴリズムを実現します.
次のようになります.
入力:student.a am I
出力:I am a student.
考え方:
文字列を左から右へ遍歴し、各単語を1つずつつなぎ合わせればよい.
コード:
各単語間がスペースで区切られ、各単語の文字は順序ですが、単語間の順序は逆順序です.
単語のシーケンスを反転させるアルゴリズムを実現します.
次のようになります.
入力:student.a am I
出力:I am a student.
考え方:
文字列を左から右へ遍歴し、各単語を1つずつつなぎ合わせればよい.
コード:
#include
#include
using namespace std;
string ReverseSentence(string str)
{
string res = "", tmp = "";
for(unsigned int i = 0; i < str.size(); ++i)
{
//
if(str[i] == ' ')
{
res = " " + tmp + res;
tmp = "";
}
else
{
tmp += str[i];
}
}
//
if(tmp.size())
res = tmp + res;
return res;
}
int main(void)
{
string str = "student. a am I";
cout<