求转置矩阵 编写一个程序,求3×4数组的转置矩阵。要求在主函数里读数,在子函数里把矩阵转置。

线性代数内,转置矩阵即是原矩阵的行列元素的位置互换,其余的保持不变.
在代码化的过程中,其实就是设置一个新的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数组为全局变量,这样的话可以省去主函数和子函数内的两次定义.

猜你喜欢

转载自blog.csdn.net/RViewSonic/article/details/107127556