用c语言编写,输入一个英文句子,句子包含若干单词,每个单词间有一个空格。将句子中每个单词逆置,输出单词逆置后的句子,不改变之前单词的顺序,例如输入who love solo,输出ohw,evol,olos
时间: 2024-05-01 20:22:19 浏览: 201
C语言 字符串逆置:输入一串字符,将其逆置输出
可以使用C语言中的字符串操作函数来实现单词逆置的功能,以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char sentence[100];
printf("请输入一个英文句子:");
fgets(sentence, 100, stdin); // 使用fgets函数读取输入的句子
sentence[strlen(sentence) - 1] = '\0'; // 去掉末尾的换行符
printf("逆置后的句子为:");
char *token = strtok(sentence, " "); // 使用strtok函数以空格为分隔符分割句子
while (token != NULL) {
int len = strlen(token);
for (int i = len - 1; i >= 0; i--) {
printf("%c", token[i]); // 逆置单词并输出
}
printf(" "); // 输出空格
token = strtok(NULL, " "); // 继续分割下一个单词
}
return 0;
}
```
注意,这里用到了fgets函数读取输入的句子,而不是scanf函数,因为fgets函数可以读取包含空格的字符串,而scanf函数遇到空格就会停止读取。同时,由于fgets函数会在读取完输入后保留输入缓冲区中的换行符,因此需要手动将其替换为字符串结束符'\0'。
阅读全文