问题描述
- 一个矩阵转置的问题,错在哪里?
-
#define M 4
#includeint main()
{
int a[M][M]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
printf("%dt", a[i][j]);
printf("n");
}
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
{
int t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
printf("%dt", a[i][j]);
printf("n");
}
return 0;
}
解决方案
for(j=0;j
->
for(j=0;j<i;j++)
不然又颠倒过来了。
解决方案二:
自己码就是问题多,用 Mathematica 就简单多了
时间: 2024-09-12 06:14:46