自测输入矩阵转置c语言
时间: 2024-11-28 08:22:32 浏览: 23
在C语言中,矩阵转置是一个常见的操作,可以使用二维数组(即行向量组成的数组)来表示矩阵。下面是一个简单的例子,展示如何自定义函数来实现矩阵的转置:
#include <stdio.h>
// 定义一个函数用于交换两个元素
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 矩阵转置函数
void transpose(int matrix[ROW][COL], int transposed_matrix[COL][ROW]) {
int i, j; // 行索引
for (i = 0; i < ROW; ++i) { // 遍历原矩阵的每一行
for (j = 0; j < COL; ++j) { // 遍历原矩阵的每一列
swap(&matrix[i][j], &transposed_matrix[j][i]); // 交换对应位置的元素
}
}
}
int main() {
const int ROW = 4;
const int COL = 3;
// 初始化矩阵
int original_matrix[ROW][COL] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
{10, 11, 12}
};
// 初始化转置后的矩阵
int transposed_matrix[COL][ROW];
// 转置矩阵
transpose(original_matrix, transposed_matrix);
// 打印转置后的矩阵
printf("Transposed Matrix:\n");
for (i = 0; i < ROW; ++i) {
for (j = 0; j < COL; ++j) {
printf("%d ", transposed_matrix[j][i]);
}
printf("\n");
}
return 0;
}
在这个示例中,transpose
函数接受原始矩阵和一个空的目标转置矩阵作为参数,通过遍历并交换元素实现了矩阵转置。在main
函数中,我们创建了一个4x3的矩阵,并打印了它的转置结果。
阅读全文
相关推荐


















