用C语言输入一个英语句子,按单词的顺序把单词倒序输出
时间: 2024-10-18 17:10:44 浏览: 31
统计单词个数&&将字符串中连续出现的数字放进一维数组
4星 · 用户满意度95%
在C语言中,你可以通过读取用户输入,然后分割成单词数组,最后反转这个数组的元素顺序来实现单词倒序输出。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
// 定义一个函数来分割字符串并存储单词
void split_string(char *str, char words[][50], int *count) {
char *token = strtok(str, " ");
while (token != NULL) {
strcpy(words[*count++], token);
token = strtok(NULL, " ");
}
}
int main() {
char input[100];
printf("请输入一个英文句子:");
fgets(input, sizeof(input), stdin); // 读取一行用户输入,包括换行符
// 去除fgets获取的最后一行的换行符
size_t len = strlen(input);
if (input[len - 1] == '\n') {
input[len - 1] = '\0';
}
char words[10][50]; // 存储单词
int word_count = 0;
split_string(input, words, &word_count);
// 反转单词数组并输出
for (int i = word_count - 1; i >= 0; i--) {
printf("%s ", words[i]);
}
return 0;
}
```
在这个程序中,`split_string` 函数用于将输入的句子按空格分割,并将每个单词复制到数组中。然后主函数再遍历这个倒序的单词数组,逐个输出。
阅读全文