#include <stdio.h>
int main()
{
int n;
printf("请输入维数:");
scanf("%d",&n);//只有方阵才能转置
int a[n][n];//初始化
int i,j,tmp;
printf("请输入n*n矩阵\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
//转置矩阵,这里注意角上的几个元素转置之后是不动的
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
tmp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tmp;
}
}
//输出矩阵
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}
结果如下: