ACM题目 1030: [编程入门]二维数组的转置
题目描述
写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。
输入
一个3x3的矩阵
输出
无
样例输入
1 2 3
4 5 6
7 8 9
样例输出
1 4 7
2 5 8
3 6 9
答案:
#include <stdio.h>
#define W 3
#define L 3
void tran(int a[W][L]);
int main()
{
int a[W][L],g,h;
for(g=0;g<W;g++)
{
for(h=0;h<L;h++)
{
scanf("%d",&a[g][h]);
}
}
tran(a);
return 0;
}
void tran(int a[W][L])
{
int i,j,t,s,b[W][L];
for(i=0;i<W;i++)
{
for(j=0;j<L;j++)
{
b[j][i]=a[i][j];
}
}
for(t=0;t<L;t++)
{
for(s=0;s<W;s++)
{
printf("%-5d",b[t][s]);
}
printf("\n");
}
}