写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
时间: 2023-05-31 21:20:05 浏览: 119
### 回答1:
以下是Python代码实现:
```python
def reverse_string(s):
"""
将字符串按反序存放
"""
return s[::-1]
if __name__ == '__main__':
s = input("请输入一个字符串:")
reversed_s = reverse_string(s)
print("反序后的字符串为:", reversed_s)
```
在主函数中,先输入一个字符串,然后调用 `reverse_string` 函数将其按反序存放,最后输出反序后的字符串。
### 回答2:
首先,在主函数中输入一个字符串需要使用fgets函数,因为fgets可以读取一行字符串并且可以包含空格和其他特殊字符。然后定义一个函数reverse_string,来将输入的字符串按反序存放。reverse_string函数的输入是一个字符串指针,输出是一个反序后的字符串。
具体实现思路是:首先获取到字符串的长度,然后使用for循环将字符串逆序存放,最后返回反序后的字符串。
代码实现如下所示:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str);
int main()
{
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
//去除fgets函数中读取到的换行符
if(str[strlen(str)-1] == '\n')
str[strlen(str)-1] = '\0';
reverse_string(str);
printf("反序后的字符串为:%s", str);
return 0;
}
void reverse_string(char *str)
{
int len, i;
char temp;
len = strlen(str);
for(i=0; i<len/2; i++)
{
temp = str[i];
str[i] = str[len-i-1];
str[len-i-1] = temp;
}
}
```
这个程序可以实现输入一个字符串,并将输入的字符串按反序存放,再将反序后的字符串输出。
### 回答3:
题目要求我们编写一个函数,可以将输入的一个字符串反序存放。我们可以采用递归的方式,首先判断字符串是否为空,如果为空则直接返回,否则将字符串最后一个字符和剩余字符串逆序,然后再递归调用反序函数。
下面是具体的代码实现:
```
#include <iostream>
#include <string>
using namespace std;
void reverse(string &s)
{
if (s.empty()) // 如果字符串为空则返回
return;
char tmp = s[0]; // 取出字符串第一个字符
s = s.substr(1); // 删除第一个字符
reverse(s); // 递归调用反序函数
s += tmp; // 将第一个字符添加到字符串末尾
}
int main()
{
string s;
cout << "请输入一个字符串:" << endl;
cin >> s;
reverse(s);
cout << "反序后的字符串为:" << s << endl;
return 0;
}
```
在主函数中,我们首先输入一个字符串,然后调用反序函数将字符串反序存放,最后再输出反序后的字符串。运行程序,可以看到如下的输出:
```
请输入一个字符串:
hello world
反序后的字符串为:dlrow olleh
```
这说明我们的函数顺利地将输入的字符串反序了。
阅读全文