方型矩阵转置比较简单,对上三角或下三角做交换即可。
#include "stdio.h"
void Transpose(int (*matrix)[3])
{
int temp;
int i, j;
for(i=1;i<3;i++)/*转置*/
{
for(j=0;j {
temp = *(*(matrix+j)+i);
*(*(matrix+j)+i) = *(*(matrix+i)+j);
*(*(matrix+i)+j) = temp;
}
}
}
void main()
{
int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
Transpose(a);
for(int i = 0;i<3;i++)
{
for(int j=0;j<3;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}