You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 years ago | |
|---|---|---|
| README.md | 2 years ago | |
| 未命名1.exe | 2 years ago | |
README.md
#include <stdio.h> #include <stdlib.h> #include <time.h>
void printMatrix(int matrix[9][9]) { for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { printf("%d ", matrix[i][j]); } printf("\n"); } }
int main() { srand(time(NULL)); int matrix[9][9];// 初始化矩阵为 0 for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { matrix[i][j] = 0; } } // 随机生成1-9的数字 int nums[9]; for (int i = 0; i < 9; i++) { nums[i] = i + 1; } for (int i = 0; i < 9; i++) { int randIndex = rand() % 9; int temp = nums[i]; nums[i] = nums[randIndex]; nums[randIndex] = temp; }
// 填充前三行
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
matrix[i][j] = nums[(j + i * 3) % 9];
}
}
// 复制前三行到后六行
for (int i = 3; i < 9; i++) {
for (int j = 0; j < 9; j++) {
matrix[i][j] = matrix[i % 3][j];
}
}
// 随机打乱每列的数字
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
int randIndex = rand() % 9;
int temp = matrix[j][i];
matrix[j][i] = matrix[randIndex][i];
matrix[randIndex][i] = temp;
}
}
printMatrix(matrix);
return 0;
}