用c++ 编写一个逆转字符串的函数reverse
时间: 2024-05-01 20:20:33 浏览: 221
你可以通过以下代码来实现逆转字符串的函数reverse:
```c
#include <stdio.h>
#include <string.h>
void reverse(char str[]) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[] = "hello world";
reverse(str);
printf("%s", str);
return 0;
}
```
在这个函数中,我们使用了一个循环来交换字符串中的字符。由于我们只需要逆转一半的字符串,因此循环的次数是字符串长度的一半。在每次循环中,我们使用一个临时变量来交换两个字符的位置。最后,我们可以在main函数中调用这个函数,并输出逆转后的字符串。
相关问题
c++用string方法逆转字符串,字符串由用户输入
可以使用C++标准库中的`string`类型和`reverse`函数来逆转字符串,示例代码如下:
```c++
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string str;
std::cout << "Please enter a string: ";
std::cin >> str;
std::reverse(str.begin(), str.end());
std::cout << "Reversed string is: " << str << std::endl;
return 0;
}
```
用户输入的字符串会被存储在`str`变量中,`std::reverse`函数会将`str`中的字符逆序排列,最后输出逆序后的字符串。
c++实现字符串逆转
C++中可以使用以下几种方法来实现字符串逆转:
1. 使用库函数reverse():可以使用algorithm头文件中的reverse()函数来实现字符串的逆转。示例代码如下:
```cpp
#include <algorithm>
#include <string>
std::string reverseString(std::string str) {
std::reverse(str.begin(), str.end());
return str;
}
```
2. 使用双指针法:使用两个指针,一个指向字符串的开头,一个指向字符串的末尾,交换两个指针所指向的字符,然后分别向中间移动指针,直到两个指针相遇。示例代码如下:
```cpp
#include <string>
std::string reverseString(std::string str) {
int left = 0;
int right = str.length() - 1;
while (left < right) {
std::swap(str[left], str[right]);
left++;
right--;
}
return str;
}
```
3. 使用递归:将字符串分为两部分,递归地对剩余部分进行逆转,然后将两部分连接起来。示例代码如下:
```cpp
#include <string>
std::string reverseString(std::string str) {
if (str.length() <= 1) {
return str;
}
std::string left = str.substr(0, str.length() / 2);
std::string right = str.substr(str.length() / 2);
return reverseString(right) + reverseString(left);
}
```
阅读全文