定义一个具有十二个元素的二维数组按照三行四列进行显示并将其转置用 C语言写
时间: 2024-03-07 17:47:21 浏览: 35
可以按照以下方式定义一个3行4列的二维数组,并对其进行转置:
```c
#include <stdio.h>
int main() {
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
printf("原始数组:\n");
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("转置后的数组:\n");
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", arr[j][i]);
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
原始数组:
1 2 3 4
5 6 7 8
9 10 11 12
转置后的数组:
1 5 9
2 6 10
3 7 11
4 8 12
```
相关问题
c语言进行二维数组四行三列的矩阵转置
下面是一个C语言程序,用于将一个4行3列的二维矩阵进行转置:
```c
#include <stdio.h>
int main() {
int matrix[4][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}};
int transposed_matrix[3][4];
// 将原矩阵转置
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
transposed_matrix[j][i] = matrix[i][j];
}
}
// 输出转置后的矩阵
printf("转置后的矩阵:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", transposed_matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
运行该程序,输出结果如下:
```
转置后的矩阵:
1 4 7 10
2 5 8 11
3 6 9 12
```
c语言编程实现二维数组(三行三列)转置
要实现二维数组的转置,可以使用两层循环来完成。首先,创建一个二维数组,并将原始数组的行和列互换,即可得到转置后的数组。
以下是C语言的代码示例:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
void transpose(int arr[ROWS][COLS], int transposed[COLS][ROWS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
transposed[j][i] = arr[i][j];
}
}
}
int main() {
int arr[ROWS][COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int transposed[COLS][ROWS];
transpose(arr, transposed);
printf("原始数组:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("\n转置后的数组:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
```
运行以上代码,输出结果如下:
```
原始数组:
1 2 3
4 5 6
7 8 9
转置后的数组:
1 4 7
2 5 8
3 6 9
```