C语言算法题:矩阵转置

新手上路,请多包涵

这个是我的代码:

#include <stdio.h>

int input_M = 0, input_N = 0;

int main() {
    scanf("%d%d", &input_M, &input_N);
    int matrix1[input_M][input_N];
    int matrix2[input_N][input_M];
    for (int i = 0; i < input_M; ++i) {
        for (int j = 0; j < input_N; ++j) {
            scanf("%d", &matrix1[i][j]);
            matrix2[j][i] = matrix1[i][j];
        }
    }

    for (int i = 0; i < input_N; ++i) {
        for (int j = 0; j < input_M; ++j) {
            printf("%d%s", matrix2[i][j], (j == input_M - 1 ? "" : " "));
        }
        if (i != input_N - 1) { printf("\n"); }
    }
    return 0;
}

image

上面是题目,一直是答案错误。

阅读 1.9k
1 个回答
#include <stdio.h>

int input_M = 0, input_N = 0;

int main() {
    int i = 0;
    int j = 0;
    scanf("%d%d", &input_M, &input_N);
    int matrix1[input_M][input_N];

    for (i = 0; i < input_M; ++i) {
        for (j = 0; j < input_N; ++j) {
            scanf("%d", &matrix1[i][j]);
        }
    }

    for (j = 0; j < input_N; ++j) {
        for (i = 0; i < input_M; ++i) {
            printf("%d", matrix1[i][j]);
            if (i == input_M - 1) {
                printf("\n");
            } else {
                printf(" ");
            }
        }
    }
    return 0;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题