将一个字符串逆序存放在数组中并输出逆序后的字符串内容。
时间: 2024-05-08 10:21:34 浏览: 17
下是C++代码实现:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
cout << "请输入一个字符串:" << endl;
cin.getline(str, 100); // 使用getline()函数读取含有空格的字符串
int len = strlen(str);
char reverse_str[len];
for (int i = 0; i < len; i++) {
reverse_str[i] = str[len - i - 1]; // 逆序存放
}
cout << "逆序后的字符串为:" << endl;
cout << reverse_str << endl;
return 0;
}
```
当用户输入一个字符串后,程序会先通过`strlen()`函数获取字符串的长度,然后创建一个与原字符串等长的字符数组`reverse_str`,并在`for`循环中将原字符串逆序存放到`reverse_str`中。最后输出`reverse_str`即可。
相关问题
将一个字符数组中的字符串按逆序存放,并输出
好的,这是一个关于字符数组操作的问题。下面是一个示例代码,实现了将字符数组中的字符串按逆序存放的功能,并输出结果:
```c
#include <stdio.h>
#include <string.h>
void reverseStrings(char* str[], int len) {
int i, j;
char* temp;
for (i = 0, j = len - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main() {
char* strs[5] = {"hello", "world", "how", "are", "you"};
int len = sizeof(strs)/sizeof(strs[0]);
printf("Original strings:\n");
for (int i = 0; i < len; i++) {
printf("%s ", strs[i]);
}
printf("\n");
reverseStrings(strs, len);
printf("Reversed strings:\n");
for (int i = 0; i < len; i++) {
printf("%s ", strs[i]);
}
printf("\n");
return 0;
}
```
输出结果:
```
Original strings:
hello world how are you
Reversed strings:
you are how world hello
```
如果您有其他问题需要问,欢迎继续提问。
编写一个函数,实现将字符数组中的字符串逆序存放的功能
好的,下面是函数的代码:
```c
void reverse(char arr[]) {
int len = strlen(arr);
for (int i = 0; i < len / 2; i++) {
char temp = arr[i];
arr[i] = arr[len-i-1];
arr[len-i-1] = temp;
}
}
```
这个函数的参数是一个字符数组,函数的作用是将该字符数组中的字符串逆序存放。具体实现是通过双指针的方式,从两端开始交换字符,直到中间位置。