C语言写一个3×5矩阵的转置矩阵,输出原矩阵好转置后的矩阵
时间: 2024-11-29 12:11:49 浏览: 12
在C语言中,为了创建一个3x5矩阵的转置矩阵,你可以使用二维数组,并通过两层循环来交换行和列的数据。这里是一个简单的示例:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 5
// 定义矩阵的结构体
typedef struct {
int matrix[ROWS][COLS];
} Matrix;
// 转置函数
void transpose(Matrix* src, Matrix* dest) {
for (int i = 0; i < ROWS; i++) { // 遍历源矩阵的行
for (int j = 0; j < COLS; j++) { // 遍历源矩阵的列
dest->matrix[j][i] = src->matrix[i][j]; // 将元素复制到新矩阵的对应位置
}
}
}
// 打印矩阵
void print_matrix(Matrix* mat) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", mat->matrix[i][j]);
}
printf("\n");
}
}
int main() {
Matrix original;
Matrix transposed;
// 初始化原矩阵
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
original.matrix[i][j] = i * COLS + j + 1; // 设置一些测试数据,实际应用可以根据需求填充
}
}
transpose(&original, &transposed); // 转置矩阵
printf("Original Matrix:\n");
print_matrix(&original);
printf("\nTransposed Matrix:\n");
print_matrix(&transposed);
return 0;
}
```
当你运行这个程序,它会首先打印出原始矩阵,然后打印出转置后的矩阵。
阅读全文