weixin_45904768
是一只有梦想的咸鱼
2019-12-09 16:09
采纳率: 64.3%
浏览 3.2k

输入N*N的矩阵,输出它的转置矩阵?

样例输入

2
1 2
1 2

样例输出

1 1
2 2

我的代码如下:

#include <stdio.h> 
#define N 100
int main()
{
    int i,j,a[N][N],n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
       for(j=0;j<n;j++)
       {
        scanf("%d",&a[i][j]);
       }
    for(i=0;i<n;i++)
       for(j=0;j<n;j++)
       {
        printf("%d ",a[j][i]);
        printf("\n");
        return 0;
       }

}

我的输出都成一行了。
麻烦帮我调试修改一下,谢谢大佬!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • caozhy
    已采纳
    #include <stdio.h> 
    #define N 100
    int main()
    {
        int i,j,a[N][N],n;
        scanf("%d",&n);
        for(i=0;i<n;i++)
           for(j=0;j<n;j++)
           {
            scanf("%d",&a[i][j]);
           }
        for(i=0;i<n;i++)
        {
           for(j=0;j<n;j++)
            printf("%d ",a[j][i]);
            printf("\n");
        }
        return 0;
    }
    

    问题解决的话,请点一下采纳

    点赞 7 评论
  • weixin_43838547
    antumbra 2019-12-09 16:22

    只输出一行吗,那是当然的,因为return0直接停掉程序了,不可能继续循环,把printf("\n")移动到for(j=0,j<n,j++)循环体外for(i=0,i<n,i++)循环体内的位置,return 0移动到最后

    点赞 评论

相关推荐