这个程序这样写对吗?为什么会显示输出结果格式错误呢🤓🤓

输入一个3×3的矩阵,将该矩阵置(行列互
换)后输出。输出结果中每个数字占四列宽度
例如:
输入:1 2 3
4 5 6
7 8 9
输出:1 4 7
2 5 8
3 6 9
程序:#include <stdio.h>

int main()
{
int a[3][3];
int i, j;
for(i = 0; i<3; i++)
{
for(j = 0; j<3; j++)
{
scanf("%d", &a[j][i]);
}
}

for(i = 0; i<3; i++)
{
    for(j = 0; j<3; j++)
    {
        printf("%4d ", a[i][j]);
    }
    putchar('\n');
}
return 0;

}

没看到你的代码,我给你编写一个

#include<stdio.h>

int main()
{
    int a[3][3];
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            scanf("%d",&a[i][j]);
        }
    }

    for (int i = 0; i < 3; i++)
    {
        for (int j = i; j < 3; j++)
        {
            int temp = a[i][j]; a[i][j] = a[j][i]; a[j][i] = temp;
        }
    }

    printf("\n");
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            printf("%4d", a[i][j]);
        }
        printf("\n");
    }
}

img

测试没问题呀