用c语言把Welcome to CVTE .变成.cvte to welcome,仅改变单词之间的顺序,不改变单词中字母的顺序
时间: 2024-12-23 13:15:45 浏览: 6
(2022)CVTE嵌入式笔试题.pdf
在C语言中,由于它是一种过程式编程语言,并不适合直接处理字符串操作。不过,我们可以借助循环结构和字符数组来实现这个需求。下面是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
void reverseWords(char str[]) {
char temp[50], *wordStart = str, *wordEnd;
while (*str != '\0') { // 遍历整个字符串
if (*str == ' ') { // 如果遇到空格,找到了一个词的结束
wordEnd = str - 1; // 更新词的结束位置
// 将这个词反转
while (wordStart < wordEnd) {
temp = *wordStart;
*wordStart++ = *wordEnd;
*wordEnd-- = temp;
}
// 移动到下一个词开始
str = wordEnd + 1;
} else {
++str;
}
}
// 处理最后一个词,可能没有空格
if (*str != '\0') {
wordEnd = str;
// 同样将这个词反转
while (wordStart < wordEnd) {
temp = *wordStart;
*wordStart++ = *wordEnd;
*wordEnd-- = temp;
}
}
// 输出反转后的字符串
printf(".cvte to %s\n", str);
}
int main() {
char input[] = "Welcome to CVTE .";
reverseWords(input);
return 0;
}
```
当你运行上述程序,输出将是 ".cvte to Welcome ."。
阅读全文