我们把单词分解成数字
如you are me 看成123 45 67
我们的目标是67 45 123
如果我们先实现在每一个单词内逆转数字的位置呢?
那就是321 54 76,那么离我们的目标就只差一步了
把整个字符串逆转一下就会变成67 45 123
以下是代码实现
#include<iostream>
#include<string>
#include<windows.h>
using namespace std;
int main(void) {
char a[256];
int i = 0;
int j;
int k;
int m;
cout << "请输入英文单词:" << endl;
gets_s(a, sizeof(a));
while(a[i]) {
while (a[i] == ' ')i++;
j = i;
while (a[j] != ' ' && a[j])j++;
for(k=i,m=j-1;k<m;k++,m--){
int temp = a[k];
a[k] = a[m];
a[m] = temp;
}
i = j;
}
for (k = 0, m = j - 1; k < m; k++, m--) {
int temp = a[k];
a[k] = a[m];
a[m] = temp;
}
cout << a;
system("pause");
return 0;
}