阅读量:0
要实现数组的行列互换,可以使用两个循环嵌套遍历数组,将数组的行与列进行交换。
以下是一个示例代码:
#include <stdio.h> #define ROWS 3 #define COLS 4 void transpose(int matrix[ROWS][COLS], int transposed[COLS][ROWS]) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { transposed[j][i] = matrix[i][j]; } } } void printMatrix(int matrix[ROWS][COLS]) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { printf("%d ", matrix[i][j]); } printf("\n"); } printf("\n"); } int main() { int matrix[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; int transposed[COLS][ROWS]; printf("Original matrix:\n"); printMatrix(matrix); transpose(matrix, transposed); printf("Transposed matrix:\n"); printMatrix(transposed); 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
在示例代码中,transpose()
函数用于实现数组的行列互换,printMatrix()
函数用于打印数组。在main()
函数中,首先定义了一个原始矩阵matrix
,然后定义了一个用于存储转置后矩阵的数组transposed
。接着,调用transpose()
函数将matrix
转置为transposed
,最后通过调用printMatrix()
函数打印原始矩阵和转置后的矩阵。