Problem J: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换

来源:互联网 发布:淘宝白夜追凶视频电话 编辑:程序博客网 时间:2024/04/30 09:58

只有内心充满了阳光的人,才不会绝望,那么即使环境很差走投无路,我们的心灵还有依靠。


Description
写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。

Input
一个3x3的矩阵

Output
转置后的矩阵

Sample Input
1 2 3
4 5 6
7 8 9

Sample Output
1 4 7
2 5 8
3 6 9

HINT

主函数已给定如下,提交时不需要包含下述主函数

/* C代码 */

int main()

{

int a[3][3];

int i,j;

for(i=0; i<3; i++)

 for(j=0; j<3; j++)   scanf("%d",&a[i][j]);

zhuangzhi(a);

for(i=0; i<3; i++)

{

 for(j=0; j<3; j++)    printf("%d ",a[i][j]); printf("\n");

}

return 0;

}

/* C++代码 */

int main()

{

int a[3][3];

int i,j;

for(i=0; i<3; i++)

for(j=0; j<3; j++)   cin>>a[i][j];

zhuangzhi(a);

for(i=0; i<3; i++)

{

for(j=0; j<3; j++)  cout<<a[i][j]<<" ";cout<<endl;

}

return 0;

}


#include<stdio.h>void zhuangzhi(int a1[3][3]) {     int i,j,t;     for(i=0; i<3; i++)         for(j=i; j<3; j++) //双重循环使数组逆序        {             t=a1[j][i];             a1[j][i]=a1[i][j];             a1[i][j]=t;         } } int main() {     int a[3][3];     int i,j;     for(i=0; i<3; i++)         for(j=0; j<3; j++)             scanf("%d",&a[i][j]);     zhuangzhi(a);     for(i=0; i<3; i++)     {         for(j=0; j<3; j++)             printf("%d ",a[i][j]);         printf("\n");     }     return 0; } 
0 0