云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

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;
}
打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《c语言中转置矩阵怎么写》
文章链接:https://www.yunzhuji.net/jishujiaocheng/28578.html

评论

  • 验证码