编程实现字符串的逆置。输出逆置后的字符串
时间: 2023-04-24 08:00:04 浏览: 117
可以使用循环遍历字符串,将每个字符依次加入一个新的字符串中,最终得到的新字符串就是原字符串的逆置。
具体实现可以参考以下代码:
```
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "hello world";
string reverse_str = "";
for (int i = str.length() - 1; i >= 0; i--)
{
reverse_str += str[i];
}
cout << reverse_str << endl;
return 0;
}
```
输出结果为:dlrow olleh
相关问题
递归函数将字符串逆置
递归函数可以将字符串逆置。下面是一个C语言的例子:
```c
#include <stdio.h>
#include <assert.h>
void reverse(char *s) {
assert(s);
if(*s == '\0') {
return;
} else {
reverse(&s[1]);
putchar(s[0]);
}
}
int main() {
char str[32] = {0};
printf("Please enter string:");
gets(str);
printf("Final:");
reverse(str);
printf("\n");
return 0;
}
```
这个例子中,我们定义了一个递归函数`reverse`,它接受一个字符指针作为参数。函数首先判断当前字符是否为`\0`,如果是,则递归结束;否则,递归调用`reverse`函数,并将指针向后移动一位,然后打印当前字符。通过不断递归调用,最终实现了字符串的逆置。
用指针实现字符串单词逆置
可以使用指针实现字符串单词逆置,具体实现方法如下:
```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 *str) {
char *word_start = NULL;
char *temp = str;
while (*temp) {
if ((word_start == NULL) && (*temp != ' ')) {
word_start = temp;
}
if (word_start && ((*(temp + 1) == ' ') || (*(temp + 1) == '\0'))) {
reverse(word_start, temp);
word_start = NULL;
}
temp++;
}
reverse(str, temp - 1);
}
int main() {
char str[] = "I love China";
printf("Original string: %s\n", str);
reverseWords(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
这段代码可以将字符串中的单词逆置,例如将"I love China"逆置为"China love I"。