用C语言实现英语单词逆序打印
时间: 2024-10-21 16:15:43 浏览: 13
在C语言中,实现英文单词逆序打印可以分为两个步骤:首先将整个字符串逆序,然后处理单词边界,找到每个单词并将其逆序。
以下是一个简单的示例,它使用指针和循环结构:
```c
#include <stdio.h>
#include <string.h>
// 函数用于逆序字符串
void reverse(char* str) {
int len = strlen(str);
for (int i = 0; i < len / 2; ++i) {
char temp = str[i];
str[i] = str[len - 1] = temp;
}
}
// 函数用于逆序单词
void reverse_words(char* str) {
char* word_start = str;
while (*word_start != '\0') { // 遍历直到字符串结束
if (*word_start == ' ') { // 如果遇到空格,开始逆序当前单词
reverse(word_start); // 调用reverse函数
word_start++; // 移动到下一个单词的开头
} else {
word_start++; // 如果不是空格,继续寻找下一个单词
}
}
// 最后的单词不需要额外处理,因为它已经到达了字符串末尾
}
int main() {
char input[] = "Hello World This Is C";
reverse_words(input);
printf("Reversed words: %s\n", input);
return 0;
}
```
阅读全文