矩阵的转置

#include
#define MAX_SIZE 100//#define MAX_SIZE 100 是一个 宏定义,它的作用是给常量 MAX_SIZE 赋一个值 100。
                    //宏定义的作用:
                   //在代码中使用 MAX_SIZE 时,编译器会自动将它替换为 100。
                  //这意味着,当你写 MAX_SIZE 时,编译器会自动替换为 100,从而可以在多个地方使用该常量,而不需要每次手动写 100。

int main() {
    int m, n;
    int A[MAX_SIZE][MAX_SIZE], B[MAX_SIZE][MAX_SIZE];//表示定义一个二维数组 A,该数组有 MAX_SIZE 行,每行有 MAX_SIZE 列,
                                                     //每个元素的类型是 int(整数)。

    // 输入矩阵的行数和列数
    printf("请输入矩阵的行数和列数: ");
    scanf_s("%d %d", &m, &n);

    // 输入原矩阵 A
    printf("请输入矩阵 A 的元素:\n");
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            scanf_s("%d", &A[i][j]);
        }
    }

    // 进行转置
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            B[j][i] = A[i][j];  // 转置操作
        }
    }

    // 输出转置后的矩阵 B
    printf("矩阵 A 的转置是:\n");
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            printf("%d ", B[i][j]);
        }
        printf("\n");
    } // 注意:这里的输出格式是每行输出 n 个元素,每行之间用空格隔开。

    return 0;
}

转置具体操作可以在草稿本上画下来,更直观易懂,如有问题,疑惑,可以私信我。

你可能感兴趣的:(矩阵,算法,数据结构,c语言)