admin 管理员组

文章数量: 1086019


2024年4月21日发(作者:三角函数对应角度数值)

输入两次字符串,存入二维数组的方法

输入两次字符串并将它们存入二维数组是一种常见的需求,本文

将讲解如何实现这一目标。

1. 定义二维数组

首先需要定义一个二维数组,该数组的格式为 arr[row][col] ,

其中 row 表示行数, col 表示列数,我们可以在定义时指定它们的

具体值,例如:

int row = 2, col = 2;

char arr[row][col];

这样就定义了一个二维数组,它含有两行两列的元素。

2. 获取两个字符串

接着需要获取两个字符串,这里我们假设这两个字符串分别为

str1 和 str2 ,并且它们的长度都相等:

char str1[] = "ABCD";

char str2[] = "EFGH";

3. 存入二维数组

下一步就是将这两个字符串存入二维数组中,这可以通过循环实

现。在每次循环中,我们将 str1 和 str2 中对应位置的字符分别存

入二维数组的一个元素中,例如:

for (int i = 0; i < row; i++) {

for (int j = 0; j < col; j++) {

arr[i][j] = str1[i * col + j];

}

}

for (int i = 0; i < row; i++) {

for (int j = 0; j < col; j++) {

arr[i][j + col] = str2[i * col + j];

}

}

这段代码中,第一个循环将 str1 中的字符存入二维数组左边的

部分,第二个循环则将 str2 中的字符存入二维数组右边的部分。需

要注意的是,二维数组是按行存储的,所以在存储时需要计算出每个

元素的正确位置。

完整代码如下:

#include

int main() {

int row = 2, col = 2;

char arr[row][2 * col];

char str1[] = "ABCD";

char str2[] = "EFGH";

for (int i = 0; i < row; i++) {

for (int j = 0; j < col; j++) {

arr[i][j] = str1[i * col + j];

}

}

for (int i = 0; i < row; i++) {

for (int j = 0; j < col; j++) {

arr[i][j + col] = str2[i * col + j];

}

}

printf("二维数组元素为:n");

for (int i = 0; i < row; i++) {

for (int j = 0; j < 2 * col; j++) {

printf("%c ", arr[i][j]);

}

printf("n");

}

return 0;

}

以上就是输入两次字符串并存入二维数组的方法,通过定义数组、

获取字符串和循环存储实现。可以根据需要修改元素个数和字符长度

来适应不同场景。


本文标签: 数组 字符串 存入 元素 字符