求二维数组的转置矩阵

 1 /*=====================================
 2 求二维数组的转置矩阵
 3 输入
 4     两个整数n和m 
 5     n行m列的二维数组 
 6 输出
 7     输出该二维数组的转置矩阵 
 8 数据范围
 9     0<n<20; 0<m<20; 
10 ======================================*/
11 #include<stdio.h>
12 int main()
13 {
14     int a[20][20];
15     int b[20][20];
16     int i,j;
17     int n,m;
18     freopen("5.in","r",stdin);
19     scanf("%d%d",&n,&m);
20     for(i=0;i<n;i++)
21     {
22         for(j=0;j<m;j++)
23         {
24             scanf("%d",&a[i][j]);
25         }
26     }
27     for(i=0;i<n;i++)
28     {
29         for(j=0;j<m;j++)
30         {
31             b[j][i]=a[i][j];
32         }
33     }
34     for(i=0;i<n;i++)
35     {
36         for(j=0;j<m;j++)
37         {
38             printf("%3d ",b[i][j]);
39         }
40         printf("
");
41     }
42     return 0;
43 }