c/c++字符串按照单词为单位逆序排列
来源:千锋教育
发布人:wjy
2023-04-23
推荐
在线提问>>
在C/C++中,可以使用字符串和指针来逆序排列单词。下面是一个简单的方法:
#include <iostream>
#include <cstring>
using namespace std;
void reverseWords(char *s) {
int len = strlen(s);
int i = 0;
int j = 0;
// 逆序整个字符串
for (i = 0, j = len - 1; i < j; i++, j--) {
char temp = s[i];
s[i] = s[j];
s[j] = temp;
}
// 逆序每个单词
i = 0;
while (i < len) {
j = i;
while (j < len && s[j] != ' ') {
j++;
}
for (int k = i, l = j - 1; k < l; k++, l--) {
char temp = s[k];
s[k] = s[l];
s[l] = temp;
}
i = j + 1;
}
}
int main() {
char str[] = "Hello World";
reverseWords(str);
cout << str << endl;
return 0;
}
这个程序将字符串中的每个单词都逆序排列,并将整个字符串逆序排列。输出的结果应该是"World Hello"。
