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であることを前提としており、ユーザーの入力をこの範囲内に制限しています。必要に応じてこれらの制限を変更することができます。