3944 - 矩阵转置8-9
写一函数,将一个3*3的整型矩阵转置
Input
输入一个3*3的矩阵,输入占3行每行有3个用空格分开的数
Output
输出转置矩阵
输出占3行,每行有3个数,数之间用一个空格分开,每行的最后一个数后面没有空格
Examples
Input
1 1 1 2 1 1 1 4 1
Output
1 2 1 1 1 4 1 1 1
Solution C
#include<stdio.h> #define M 3 #define N 3 void f(int a[M][N]) { int b[M][N]; int i,j; for(i=0;i<M;i++) { for(j=0;j<N;j++) {b[j][i]=a[i][j];} } for(i=0;i<M;i++) { for(j=0;j<N;j++) {printf("%d",b[i][j]);if(j!=N-1){putchar(32);}} printf("\n");} } void main() { int a[M][N]; int i,j; for(i=0;i<M;i++) { for(j=0;j<N;j++) {scanf("%d",&a[i][j]);} } f(a); }
Solution C++
#include<stdio.h> int main() { int a[3][3],b[3][3],i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) scanf("%d",&a[i][j]);} for(i=0;i<3;i++) { for(j=0;j<3;j++) b[j][i]=a[i][j];} for(i=0;i<3;i++) { for(j=0;j<3;j++) {printf("%d",b[i][j]); if(j<2) printf(" ");} printf("\n");} return 0; }