转置矩阵是将一个矩阵的行变为列,列变为行的变换操作,在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; }
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。