句子中单词倒序
将句子中的单词倒过来,例如:I am a student.转换为student. a am I。思路:将每个单词倒序,例如上句中每个单词倒序之后为I ma a .tneduts,然后整个句子再倒序。
#include <iostream>
#include <string>
using namespace std;
void reversestr(string &s,int m,int n)
{
char temp;
while (m<n)
{
temp = s[m];
s[m] = s[n];
s[n] = temp;
m++;
n--;
}
}
int main()
{
string str;
getline(cin, str);
int m = 0;
int n = 0;
for (int i = n; i <= str.length();i++)
{
if (str[i]!=' '&&str[i]!='\0')
{
n++;
}
else
{
reversestr(str, m, n-1);
n++;
m = n;
}
}
reversestr(str, 0, str.length() - 1);
cout << str;
return 0;
}