描述
输入 n 阶矩阵,输出它的转置矩阵。矩阵的转置操作,即把矩阵的行元素变为列元素、列元素变为行元素的过程。
输入
包含多组测试数据,直到读至输入文件末尾为止。
每组测试数据包括 n+1 行,第一行为一个非负整数 n,代表矩阵的阶数;接下来 n 行是一个 n∗n 的矩阵。
输出
每组测试数据输出 n 行,为转置矩阵,行末无空格。
输入样例 1 点击复制
1 100
输出样例 1
100
#include <stdio.h>
int main() {
int N;
scanf("%d", &N); // 读取矩阵的大小 N
int matrix[N][N]; // 定义一个 N*N 的二维数组来存储矩阵
// 读取矩阵的元素
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 输出转置矩阵
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d", matrix[j][i]);
if (j != N - 1) {
printf(" ");
}
}
printf("\n");
}
return 0;
}