用c语言实现矩阵转置

下面是在 C 语言中实现矩阵转置的示例代码:

#include

#define ROWS 3

#define COLS 3

void transpose(int matrix[ROWS][COLS]) {

    int temp;

    for(int i=0; i

        for(int j=0; j

            temp = matrix[i][j];

            matrix[i][j] = matrix[j][i];

            matrix[j][i] = temp;

        }

    }

}

int main() {

    int matrix[ROWS][COLS] = {{1, 2, 3},

                              {4, 5, 6},

                              {7, 8, 9}};

    printf("Original matrix:\n");

    for(int i=0; i

        for(int j=0; j

            printf("%d ", matrix[i][j]);

        }

        printf("\n");

    }

    transpose(matrix);

    printf("Transposed matrix:\n");

    for(int i=0; i

        for(int j=0; j

            printf("%d ", matrix[i][j]);

        }

        printf("\n");

    }

    return 0;

}

上面的代码声明了一个 transpose 函数,该函数将传入的矩阵数组进行转置。转置矩阵是在原矩阵的对角线上将元素交换位置得到的。

在 main 函数中,我们创建了一个 3x3 的矩阵,并使用 printf 函数打印出原矩阵和转置矩阵。

运行上面的代码,输出结果如下:

Original matrix:

1 2 3

4 5 6

7 8 9

Transposed matrix:

1 4 7

2 5 8

3 6 9

你可能感兴趣的:(c语言,矩阵,算法)