转秩矩阵

#include <stdio.h>
#include 
<conio.h>
#define M 4
#define N 4
void main()
{
 clrscr();
 
int i,k;
 
int a[M][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
 
int b[M][N];
 
for(i=0;i<M;i++)
   
for(k=0;k<N;k++)  b[i][k]=a[k][i];
 
for(i=0;i<M;i++)
   
for(k=0;k<N;k++)  printf("%5d",b[i][k]);
     printf(
"\n");
   }

}

上例中定义了2个数组,若不借助第二个数组,可以用如下程序实现:
#include <stdio.h>
#include 
<conio.h>
#define M 4
#define N 4
void main()
{
 clrscr();
 
int i,k,t;
 
int a[M][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
 
int b[M][N];
 
for(i=0;i<M;i++)
   
for(k=0;k<i;k++)  {t=a[k][i];a[k][i]=a[i][k];a[i][k]=t;}
 
for(i=0;i<M;i++)
   
for(k=0;k<N;k++)  printf("%5d",a[i][k]);
     printf(
"\n");
   }

}
posted @ 2007-01-16 08:43  齐心  Views(1290)  Comments(0Edit  收藏  举报