转置矩阵是将一个矩阵的行变为列,列变为行的变换操作,在C语言中,可以使用二维数组来表示矩阵,并通过嵌套循环来实现矩阵的转置,下面是详细的步骤和小标题:

c语言中转置矩阵怎么写c语言中转置矩阵怎么写(图片来源网络,侵删)

1、定义矩阵和结果矩阵的大小

#define ROWS 3 // 行数
#define COLS 4 // 列数
int matrix[ROWS][COLS]; // 原始矩阵
int transpose[COLS][ROWS]; // 转置后的矩阵

2、输入原始矩阵的元素

printf("请输入一个 %d x %d 的矩阵:
", ROWS, COLS);
for (int i = 0; i < ROWS; i++) {
    for (int j = 0; j < COLS; j++) {
        scanf("%d", &matrix[i][j]);
    }
}

3、实现矩阵的转置操作

// 遍历原始矩阵的每个元素,将其值赋给转置矩阵对应的位置
for (int i = 0; i < ROWS; i++) {
    for (int j = 0; j < COLS; j++) {
        transpose[j][i] = matrix[i][j];
    }
}

4、输出转置后的矩阵

printf("转置后的矩阵为:
");
for (int i = 0; i < COLS; i++) {
    for (int j = 0; j < ROWS; j++) {
        printf("%d ", transpose[i][j]);
    }
    printf("
");
}

完整的代码如下所示:

#include <stdio.h>
#define ROWS 3 // 行数
#define COLS 4 // 列数
int main() {
    int matrix[ROWS][COLS]; // 原始矩阵
    int transpose[COLS][ROWS]; // 转置后的矩阵
    printf("请输入一个 %d x %d 的矩阵:
", ROWS, COLS);
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            scanf("%d", &matrix[i][j]);
        }
    }
    // 转置操作
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            transpose[j][i] = matrix[i][j];
        }
    }
    // 输出转置后的矩阵
    printf("转置后的矩阵为:
");
    for (int i = 0; i < COLS; i++) {
        for (int j = 0; j < ROWS; j++) {
            printf("%d ", transpose[i][j]);
        }
        printf("
");
    }
    return 0;
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。