线性代数内,转置矩阵即是原矩阵的行列元素的位置互换,其余的保持不变. 在代码化的过程中,其实就是设置一个新的4*3的数组来存储原数组并输出. 故代码如下.
#include <stdio.h>
int b
[4][3];
int Exchange(int a
[3][4])
{
int i
,j
;
for(i
=0;i
<3;i
++)
for(j
=0;j
<4;j
++)
b
[j
][i
]=a
[i
][j
];
}
int main()
{
int i
,j
;
int a
[3][4];
printf("请依次输入初始3*4数组元素的值:\n");
for(i
=0;i
<3;i
++)
for(j
=0;j
<4;j
++)
scanf("%d",&a
[i
][j
]);
Exchange(a
);
for(i
=0;i
<4;i
++)
{
for(j
=0;j
<3;j
++)
printf("%d ",b
[i
][j
]);
printf("\n");
}
return 0;
}
整个代码需要多加注意的是第二行定义的b数组为全局变量,这样的话可以省去主函数和子函数内的两次定义. 对我的博客或其他方面有任何见解或问题的话都可以私信我 或者联系本人QQ:3128909688 微信:DreamHerome 欢迎致电