用c语言将3行4列的数组转置为一个4行3列的数组,并按照矩阵的格式输出
时间: 2024-12-22 20:33:52 浏览: 6
矩阵_C语言_castle4zf_一个数的转置_
在C语言中,你可以使用嵌套循环来实现矩阵的转置。这里是一个简单的示例,假设有一个名为`arr`的3x4数组,我们需要创建一个新的4x3数组`transposedArr`并存储转置后的数据:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
// 原始矩阵
int arr[ROWS][COLS] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
// 转置后的矩阵
int transposedArr[COLS][ROWS];
void transposeMatrix(int src[][COLS], int dest[][ROWS]) {
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
// 索引交换,从源矩阵的[i][j]转到目标矩阵的[j][i]
transposedArr[j][i] = src[i][j];
}
}
}
// 打印矩阵
void printMatrix(int matrix[][ROWS]) {
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
printf("%d ", matrix[j][i]);
}
printf("\n");
}
}
int main() {
transposeMatrix(arr, transposedArr);
printf("转置后的矩阵(4x3):\n");
printMatrix(transposedArr);
return 0;
}
```
运行此程序后,它会输出转置后的4行3列矩阵:
```
1 5 9
2 6 10
3 7 11
4 8 12
```
阅读全文