题目描述 输入M*N的矩阵(M行 N列),输出它的转置矩阵。 输入 第一行是两个整数,表示矩阵的行数和列数 后面是M*N的矩阵 输出 矩阵的转置 输入输出样例 样例输入 #1 2 3 1 2 3 4 5 6 样例输出 #1 1 4 2 5 3 6 c语言
时间: 2024-12-16 10:15:56 浏览: 109
这是一个简单的C语言程序,用于接收用户输入的MxN矩阵,然后输出该矩阵的转置。以下是程序的主要步骤:
1. 用户首先输入矩阵的行数M和列数N。
2. 接下来,M行N列的数据按行依次输入,存储在一个二维数组中。
3. 创建一个新的同样大小的二维数组(N行M列),用于存放转置后的矩阵。
4. 对于原始矩阵中的每个元素(索引为(i, j)),将其放入转置矩阵中的位置变为(j, i)。
5. 最后,按照转置矩阵的行顺序输出所有元素。
以下是对应的代码实现:
```c
#include <stdio.h>
#define ROWS 2
#define COLS 3
void transposeMatrix(int matrix[ROWS][COLS], int transposedMatrix[COLS][ROWS]) {
for (int i = 0; i < ROWS; ++i) {
for (int j = 0; j < COLS; ++j) {
transposedMatrix[j][i] = matrix[i][j];
}
}
}
int main() {
int original[ROWS][COLS], transposed[COLS][ROWS];
int M, N;
// 读取矩阵尺寸
scanf("%d %d", &M, &N);
// 读取原矩阵
for (int i = 0; i < M; ++i) {
for (int j = 0; j < N; ++j) {
scanf("%d", &original[i][j]);
}
}
// 转置矩阵
transposeMatrix(original, transposed);
// 输出转置矩阵
for (int i = 0; i < COLS; ++i) {
for (int j = 0; j < ROWS; ++j) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
```
阅读全文
相关推荐



















