输入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;
       }

}

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

#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;
}

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

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

#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;

}