供参考:
#include <stdio.h>
#define N 20
void getTransposeMatrix(int b[][N], int a[][N], int Row, int Col)//矩阵转置
{
int i, j;
for (i = 0; i < Row; i++)
for (j = 0; j < Col; j++)
b[j][i] = a[i][j];
}
void printmatrix(int a[][N], int Row, int Col)
{
int i, j;
for (i = 0; i < Row; i++){
for (j = 0; j < Col; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}
int main()
{
int a[N][N] = { 0 }, b[N][N] = { 0 },i, j, n = 3;
//scanf("%d", &n);
printf("请输入3*3的整数矩阵:\n");
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
scanf("%d", &a[i][j]);
printf("输入的矩阵为:\n");
printmatrix(a, n, n);
getTransposeMatrix(b, a, n, n);
printf("转置后的矩阵为:\n");
printmatrix(b, n, n);
return 0;
}
数组转置,只需在循环嵌套里面调换一下i, j的顺序。