以一个3*3的矩阵为例说明矩阵转置
#include
int main()
{
int a[3][3];
int temp,i,j;
//输入
printf("请输入一个3*3的矩阵,回车键换行:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
getchar();
}
//转置
for(i=0;i<3;i++)
{
for(j=i+1;j<3;j++)
{
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
}
//输出转置后的数组
printf("\n转置后的矩阵为:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
运行结果:
数据输入后,设置循环,不断进行a[i][j]=a[j][i]操作就行了,不过不要对一个数进行重复操作,两次转置就回来了~~
参考代码如下,希望能帮到您.
转置实际的意思开始是横着输入你现在竖着输出就可以了!
#include#include#defineN4intconvertmatrix(intm[N][N]){inti,j,temp;for(i=0;i