请编写一个函数,函数参数为指针类型,功能为翻转一个字符串。即将“abcd”翻转为“dcba”.
时间: 2023-04-27 11:01:13 浏览: 82
以下是一个C++的函数示例:
```c++
void reverseString(char* str) {
int len = strlen(str);
for (int i = ; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
```
该函数接受一个指向字符数组的指针,然后使用一个循环来交换字符串中的字符,使其翻转。循环的次数为字符串长度的一半,因为在交换过程中,前半部分的字符会与后半部分的字符进行交换。
相关问题
C语言将一个字符串翻转,例如把字符串”abcd”翻转为”dcba”。
可以使用指针来实现字符串的翻转,具体步骤如下:
1. 定义一个指向字符串的指针,并初始化为字符串的首地址。
2. 定义另外两个指针,一个指向字符串的首地址,另一个指向字符串的末尾。
3. 通过循环交换首位指针所指向的字符,并将首指针向后移动,末尾指针向前移动,直到两个指针相遇。
4. 最后输出翻转后的字符串。
以下是实现代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入一个字符串: ");
gets(str); //输入字符串
int len = strlen(str); //获取字符串长度
char *p1 = str; //指向字符串首地址的指针
char *p2 = str + len - 1; //指向字符串末尾的指针
while (p1 < p2)
{
//交换首尾指针所指向的字符
char temp = *p1;
*p1 = *p2;
*p2 = temp;
//移动指针
p1++;
p2--;
}
printf("翻转后的字符串为: %s\n", str);
return 0;
}
```
注意:在实现字符串翻转时,不能直接修改字符串常量,只能修改字符数组。因此,在定义字符数组时,要保证字符数组的长度足够大,以存储翻转后的字符串。
输入一个字符串,对字符串进行降序排序后输出。 例如输入gafebdhc,输出应为hgfedcba
好的,我来帮你解决这个问题。以下是 Python 代码实现:
```python
string = input("请输入一个字符串:")
sorted_string = ''.join(sorted(string, reverse=True))
print("降序排序后的字符串为:", sorted_string)
```
运行程序后,你可以输入任意字符串,程序会将其进行排序并输出结果。希望这个回答能够解决你的问题!
相关推荐
![](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)