将一个3行5列的二维数组a行和列元素互换 存到另一个二维数组b中
时间: 2024-03-09 11:51:30 浏览: 76
好的,可以使用两个嵌套的for循环来实现这个功能。
以下是实现代码:
```c
int a[3][5] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};
int b[5][3];
for(int i=0;i<3;i++){
for(int j=0;j<5;j++){
b[j][i] = a[i][j];
}
}
```
解释一下,首先定义了一个3行5列的二维数组a,和一个5行3列的二维数组b。然后使用两个嵌套的for循环,将a中的行和列元素互换并存到b中。其中,外层循环控制行数,内层循环控制列数,注意b中的行和列需要颠倒过来。
最后,b中就存储了a行和列元素互换后的结果。
相关问题
c语言:将一个二维数组a的行和列的元素互换,存到另一个二维数组b中。
以下是将二维数组a的行和列的元素互换并存到二维数组b中的C语言代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main() {
int a[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int b[COLS][ROWS];
int i, j;
// 将a的行和列的元素互换并存到b中
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
b[j][i] = a[i][j];
}
}
// 输出b的内容
for (i = 0; i < COLS; i++) {
for (j = 0; j < ROWS; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
return 0;
}
```
上述代码中,我们首先定义了一个3行4列的二维数组a,并定义了一个4行3列的二维数组b。然后使用两层嵌套循环将a的行和列的元素互换并存到b中。最后输出b的内容,可以看到b中的行和列的元素已经被互换了。
将一个二维数组a的行和列的元素互换,存到另一个二维数组b中。用c语言编写
以下是一个示例代码:
```c
#include <stdio.h>
#define ROW 3
#define COL 4
void transpose(int a[][COL], int b[][ROW]) {
int i, j;
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
b[j][i] = a[i][j];
}
}
}
int main() {
int a[ROW][COL] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int b[COL][ROW];
transpose(a, b);
int i, j;
printf("Original matrix:\n");
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%3d ", a[i][j]);
}
printf("\n");
}
printf("\nTransposed matrix:\n");
for (i = 0; i < COL; i++) {
for (j = 0; j < ROW; j++) {
printf("%3d ", b[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果如下:
```
Original matrix:
1 2 3 4
5 6 7 8
9 10 11 12
Transposed matrix:
1 5 9
2 6 10
3 7 11
4 8 12
```
阅读全文