济宁有多大面积:为什么不能转换?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/25 13:36:43
这个C语言程序是用来转置二维数组的,
可是结果是原样输出,问题在什么地方呢?
请各位给个指点。
#define M 3
#define N 3
int b[M][N];
int conver (int a[M][N])
{int m,n,t;
for(m=0;m<M;m++)
for(n=0;n<N;n++)
{t=a[m][n];
a[m][n]=a[n][m];
a[n][m]=t;
}
}
main ()
{int a[M][N],i,j; clrscr();
printf("Please input %dhang %dlie:\n",M,N);
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]); conver(a);
for(i=0;i<M;i++)
{printf("\n");
for(j=0;j<N;j++)
printf("%d ",a[i][j]);}
printf("\n%c",2);
getch();
}
没有转两次,conver错在哪里呢?

对啊,转了两次,其实只要转换对角线一侧的就可以了

转了两次。convert错了。