C言語でn×n行列を生成する方法は何ですか?

n×nの行列を生成するには、各要素に値を埋めるために2重のループを使用する必要があります。

C言語を使ってn×nの行列を生成する例のコードは以下の通りです:

#include <stdio.h>

#define MAX_SIZE 10

int main() {
    int n;
    printf("请输入矩阵的大小(1-%d):", MAX_SIZE);
    scanf("%d", &n);

    if (n < 1 || n > MAX_SIZE) {
        printf("矩阵大小无效!\n");
        return 0;
    }

    int matrix[MAX_SIZE][MAX_SIZE];

    // 生成矩阵
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            matrix[i][j] = i * n + j + 1;
        }
    }

    // 打印矩阵
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            printf("%2d ", matrix[i][j]);
        }
        printf("\n");
    }

    return 0;
}

このコードは、最初にユーザーに行列のサイズ(1から10の範囲)を入力するように要求し、それから二重ループを使用してその行列を生成し、各要素の値は計算によって得られます。最後に、ループを使用して行列を再度走査し、出力します。

注意:このサンプルコードは行列の最大サイズが10×10であることを前提としており、ユーザーの入力をこの範囲内に制限しています。必要に応じてこれらの制限を変更することができます。

bannerAds