#include
void move(int (*pointer)[n],int n)
{
int i,j;
int b[n][n];
for(i=0;ifor(j=0;jfor(i=0;ifor(j=0;jprintf("%d ",b[i][j]);
printf("\n");
}
printf("\n");
}
int main()
{
int i,j,t,s,m,n;
scanf("%d",&n);
int a[n][n];
for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);
}
int (*point)[n];
point=a;
move(point,n);
return 0;
}
修改如下,供参考:
#include <stdio.h>
#define N 10
void move(int (*pointer)[N],int n)
{
int i,j,tmp;
//int b[n][n];
for(i=0;i<n;i++){
for(j=i;j<n;j++)
{
tmp = pointer[i][j];
pointer[i][j] = pointer[j][i];
pointer[j][i] = tmp;
}
//printf("%d ",b[i][j]);
//printf("\n");
}
//printf("\n");
}
int main()
{
int a[N][N];
int i,j,t,s,m,n;
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
int (*point)[N];
point=a;
move(point,n);
for(i=0;i<n;i++){ //输出转置后的数组
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
矩阵转置的最好方式就是:
麻烦采纳一下哟,谢谢❤
matT[i][j]=mat[j][i];