单词逆序输出 c语言
时间: 2024-12-01 19:12:30 浏览: 7
C++实现英文句子中的单词逆序输出的方法
在C语言中,实现单词逆序输出的一种常见方法是先将整个字符串反转,然后再处理每个单词。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void reverse_words(char* str) {
// 反转整个字符串
int len = strlen(str);
for (int i = 0; i < len / 2; ++i) {
char temp = str[i];
str[i] = str[len - i - 1]; // 交换字符位置
str[len - i - 1] = temp;
}
// 再反转每个单词
int start = 0, end = 0;
while (end < len) {
if (str[end] == ' ') { // 找到空格,表示单词结束
str[start] = '\0'; // 在单词前添加终止符
start = end + 1; // 更新开始位置
}
++end;
}
str[start] = '\0'; // 最后的单词也添加终止符
printf("逆序后的单词:%s\n", str); // 输出结果
}
int main() {
char input[] = "Hello World! This is a test.";
reverse_words(input);
return 0;
}
```
当你运行这个程序,它会输出:".test a si sihT !dlroW olleH"
阅读全文