如何写一个C语言代码输入一个句子(一行),将句子中的每一个单词翻转输出。 输入格式 只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。 输出格式 翻转每一个单词后的字符串,单词之间的空格
时间: 2024-10-24 13:12:56 浏览: 26
C语言统计一篇英文短文中单词的个数实例代码
5星 · 资源好评率100%
你可以使用C语言编写以下程序来实现这个功能。这里是一个简单的示例,我们将使用标准库函数`scanf`, `strlen`, 和 `strcpy` 来读取输入、处理单词并打印结果:
```c
#include <stdio.h>
#include <string.h>
// 函数用于反转单个单词
void reverse(char *word) {
int start = 0;
int end = strlen(word) - 1;
while (start < end) {
char temp = word[start];
word[start] = word[end];
word[end] = temp;
start++;
end--;
}
}
int main() {
// 读取用户输入的字符串
char input[501];
fgets(input, sizeof(input), stdin); // 注意fgets会保留换行符
// 分割单词,并逐个反转它们
char* token = strtok(input, " ");
while (token != NULL) {
reverse(token);
printf("%s ", token); // 输出反转后的单词,保留空格
token = strtok(NULL, " "); // 获取下一个单词
}
return 0;
}
```
**如何运行此程序:**
1. 将上面的代码复制到一个名为`reverse_words.c`的文件中。
2. 使用命令行编译:`gcc -o reverse_words reverse_words.c`
3. 运行程序并输入句子:`./reverse_words < 输入的句子>`
**
阅读全文