c语言数组行列互换怎么实现

avatar
作者
筋斗云
阅读量: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()函数打印原始矩阵和转置后的矩阵。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!