输入一段英语,将这个字符串以单词为单位进行翻转,逆序输出
例
1234 qwer 890
890 qwer 1234
方法1:先将每一个单词进行翻转,再将整句话进行翻转
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char const *argv[])
{
char str[256];
int i = 0;
cout << "请输入一句英文话:";
gets(str);
while (str[i] != '\0')
{
while (str[i] == ' ')
i++;
int j = i;
while (str[j] != ' ' && str[j] != '\0')
j++;
for (int k1 = i, k2 = j - 1; k1 < k2; k1++, k2--)
{
char tmp = str[k1];
str[k1] = str[k2];
str[k2] = tmp;
}
i = j;
}
for (int k1 = 0, k2 = i - 1; k1 < k2; k1++, k2--)
{
char tmp = str[k1];
str[k1] = str[k2];
str[k2] = tmp;
}
cout << str;
return 0;
}
方法2:先将整句话进行翻转,再将每一个单词进行翻转