C语言输入一串字符串,将所有单词颠序输出
时间: 2023-06-10 12:05:33 浏览: 78
好的,让我来回答你的问题。
对于这个问题,可以先把输入的字符串以空格为分隔符分割成若干个单词,然后再将这些单词颠倒顺序输出即可。具体实现可以使用C语言中的字符串处理函数strtok和strrev来完成。
以下是基本实现代码:
```
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
fgets(str, 100, stdin); // 以 fgets() 函数读取字符串
char *word = strtok(str, " "); // 以空格为分隔符分割字符串
char *words[100]; // 存储分割后的单词
int i = 0;
while (word != NULL)
{
words[i++] = word; // 将单词存储到数组中
word = strtok(NULL, " ");
}
for (int j = i - 1; j >= 0; j--)
{
printf("%s ", strrev(words[j])); // 颠倒单词顺序并输出
}
return 0;
}
```
注意,这里的strrev函数需要先定义一下,可以使用如下实现:
```
char *strrev(char *str)
{
if (!str || ! *str)
return str;
int i = strlen(str) - 1, j = 0;
char ch;
while (i > j)
{
ch = str[i];
str[i] = str[j];
str[j] = ch;
i--;
j++;
}
return str;
}
```
这样就可以实现输入一串字符串,将所有单词颠序输出的功能了。希望对你有所帮助!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)