BC138. 矩阵转置
描述
KiKi有一个矩阵,他想知道转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵),请编程帮他解答。
输入描述
第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)
从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
输出描述
输出m行n列,为矩阵转置后的结果。每个数后面有一个空格。示例1
输入:
2 3 1 2 3 4 5 6
输出:
1 4 2 5 3 6
C 解法, 执行用时: 1ms, 内存消耗: 284KB, 提交时间: 2020-12-06
#include<stdio.h> int main() { int n, m; scanf("%d %d", &n, &m); int tmp[n][m]; int res[m][n]; for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { scanf("%d ", &tmp[i][j]); res[j][i] = tmp[i][j]; } } for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { printf("%d ", res[i][j]); } printf("\n"); } }
C 解法, 执行用时: 1ms, 内存消耗: 300KB, 提交时间: 2021-09-08
#include <stdio.h> int main() { int n=0; int m=0; scanf("%d %d",&n,&m); int i=0; int j=0; int arr[n][m]; for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d",&arr[i][j]); } } for(i=0;i<m;i++)//3 { for(j=0;j<n;j++)//2 { printf("%d ",arr[j][i]); } printf("\n");// } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 328KB, 提交时间: 2021-09-11
#include <stdio.h> int main() { int n = 0; int m = 0; int arr1[10][10] = {0}; int arr2[10][10] = {0}; scanf("%d %d", &n, &m); int i = 0; int j = 0; for(i = 0; i < n; i++) { for(j = 0; j < m; j++) { scanf("%d", &arr1[i][j]); } } for(i = 0; i < m; i++) { for(j = 0; j < n; j++) { arr2[i][j] = arr1[j][i]; } } for(i = 0; i < m; i++) { for(j = 0; j < n; j++) { printf("%d ", arr2[i][j]); } printf("\n"); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 332KB, 提交时间: 2021-07-24
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main(){ int arr[10][10]; int arr1[10][10]; int n = 0, m = 0, x = 0; scanf("%d %d", &n, &m); for (int i = 0; i < n; i++){ for (int j = 0; j < m; j++){ scanf("%d", &x); arr[i][j] = x; } } for (int i = 0; i < m; i++){ for (int j = 0; j < n; j++){ arr1[i][j] = arr[j][i]; } } for (int i = 0; i < m; i++){ for (int j = 0; j < n; j++){ printf("%d ",arr1[i][j]); } printf("\n"); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 336KB, 提交时间: 2021-07-24
int main() { int n,m; scanf("%d %d \n",&n,&m); int a[n][m]; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { scanf("%d ",&a[i][j]); } } for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { printf("%d ",a[j][i]); } printf("\n"); } return 0; }