用二维数组把n个从键盘输入的字符串倒序连接在一起
时间: 2023-06-02 13:05:24 浏览: 57
好的,这是一个关于编程的问题,我会尽力回答。您可以使用一个二维字符数组来存储输入的字符串,然后使用循环将它们倒序连接在一起。以下是可能的代码示例:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
const int maxn = 100;
int main() {
char strs[maxn][maxn]; // 二维字符数组,用于存储输入的字符串
int n; // 输入的字符串数量
cin >> n;
for (int i = 0; i < n; i++) {
cin >> strs[i];
}
// 将所有字符串倒序连接在一起
char output[maxn * maxn];
output[0] = '\0';
for (int i = n - 1; i >= 0; i--) {
strcat(output, strs[i]); // 用 strcat 函数将字符串连接起来
}
cout << output << endl;
return 0;
}
```
这段代码首先定义了一个二维字符数组来存储输入的字符串,然后循环读入这些字符串。接着,使用一个 char 类型的数组来存储最终的倒序连接结果,使用 strcat 函数将每个字符串倒序连接起来,最后输出结果。
希望这个答案能够解决您的问题。
相关问题
定义一个二维数组,从键盘输入三个字符串,找出其中最大的并输出
好的,这是一个简单的练习题。下面是一个实现这个任务的代码示例:
```python
arr = [[] for _ in range(3)] # 定义一个二维数组
for i in range(3):
arr[i] = input('请输入第{}个字符串:'.format(i+1))
max_str = max(arr, key=len) # 找出其中最大的字符串
print('最长的字符串是:', max_str)
```
这段代码使用了 Python 中的列表推导式来定义一个二维数组,然后通过 for 循环依次读取三个字符串,并使用 max 函数找出其中最长的字符串。最后输出结果。
使用C语言在二维数组里面输入多个字符串
当然可以,在C语言中,可以使用字符数组来存储字符串,可以定义一个二维字符数组来存储多个字符串。下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define ROWS 3
#define COLS 5
int main() {
char strArr[ROWS][COLS];
// 用循环输入多个字符串到二维数组中
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("请输入第%d行第%d列的字符串:", i + 1, j + 1);
scanf("%s", strArr[i][j]);
}
}
// 输出二维数组中的所有字符串
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%s ", strArr[i][j]);
}
printf("\n");
}
return 0;
}
```
这个示例代码定义了一个 3 行 5 列的字符数组 `strArr`,然后用一个双重循环输入多个字符串到数组中,最后输出数组中的所有字符串。
需要注意的是,在输入字符串时,使用 `%s` 格式化字符串,而不是 `%c`。因为 `%c` 只能输入单个字符,而 `%s` 才能输入一个完整的字符串。
希望这个示例代码对你有所帮助!