int main (void)
{
int a[4][4], b[4][4];
int i=0, j=0;
for (i=0; i<4; i++)
{
for (j=0; j<4; j++)
{
scanf("%d",&a[i][j]);
if (j == 3)
{
printf("\n");
}
}
} //输入矩阵
for (i=0; i<4; i++)
{
for(j=0; j<4; j++)
{
b[j][i] = a[i][j];
}
} //转置矩阵
for (i=0; i<4; i++)
{
for (j=0; j<4; j++)
{
printf("%5d",b[i][j]);
if (j == 3)
{
printf("\n");
}
}
} //输出矩阵
system("pause");
return 0;
}
或者
int main (void)
{
int a[4][4], *p;
int i=0, j=0, t;
for (i=0; i<4; i++)
{
for (j=0; j<4; j++)
{
scanf("%d",&a[i][j]);
if (j == 3)
{
printf("\n");
}
}
} //输入矩阵
for (i=0; i<4; i++)
{
for(j=i+1; j<4; j++)
{
p = &(a[i][j]);
t = *p;
*p = a[j][i];
a[j][i] = t;
}
} //转置矩阵
for (i=0; i<4; i++)
{
for (j=0; j<4; j++)
{
printf("%5d",a[i][j]);
if (j == 3)
{
printf("\n");
}
}
} //输出矩阵
system("pause");
return 0;
}
#include<stdio.h>
int main()
{
int arr[100][100],n,i,j,t;
int (*p)[100];
p=arr;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
t=*(*(p+i)+j);
*(*(p+i)+j)=*(*(p+j)+i);
*(*(p+j)+i)=t;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",*(*(arr+i)+j));
}
printf("\n");
}
return 0;
}