#include<stdio.h>
int array[3][3];
int main()
{
int i,j;
void zhuanzhi(int array[][3]);
printf("输入你要转置的矩阵\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&array[i][j]);
}
}
printf("您输入的矩阵为\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%3d",array[i][j]);
printf("\n");
}
printf("转置后的矩阵为\n");
zhuanzhi(array);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%3d",array[i][j]);
printf("\n");
}
}
void zhuanzhi(int array[][3])
{
int i,j,t;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
}

为什么我无法实现调用函数来转置?输出的仍然是原来的矩阵
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 浪客 2021-07-16 21:49关注
void zhuanzhi(int array[][3]) { int i,j,t; for(i=0;i<3;i++) { for(j=i;j<3;j++) //这里从i开始换,不然换过来后又换回去了 { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报