c语言输出颠倒后的所有单词 编程题 编程实现:输入一句英语,将句中所有单词的顺序颠倒输出。 示例1 输入 Hello World Here I Come 输出 Come I Here World Hello
时间: 2024-06-13 08:09:35 浏览: 59
以下是C语言输出颠倒后的所有单词的代码实现:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *start, char *end) {
char temp;
while (start < end) {
temp = *start;
*start++ = *end;
*end-- = temp;
}
}
void reverseWords(char *s) {
char *word_begin = NULL;
char *temp = s;
while (*temp) {
if ((word_begin == NULL) && (*temp != ' ')) {
word_begin = temp;
}
if (word_begin && ((*(temp + 1) == ' ') || (*(temp + 1) == '\0'))) {
reverse(word_begin, temp);
word_begin = NULL;
}
temp++;
}
reverse(s, temp - 1);
}
int main() {
char s[100];
printf("请输入一句话:");
fgets(s, 100, stdin);
s[strlen(s) - 1] = '\0'; // 去掉fgets读入的换行符
reverseWords(s);
printf("%s?\n", s);
return 0;
}
```
阅读全文