杂化轨道VSEPR
2021-07-16 21:12
采纳率: 93.3%
浏览 19

为什么我无法实现调用函数来转置?输出的仍然是原来的矩阵


#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;
        }
    }
   
}
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

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;
            }
        }
    }
    
    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题