Add 第二题

main
pjc97uv2f 3 months ago
parent 20c10a0858
commit 6b8130f2a7

@ -0,0 +1,44 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 9
void printMatrix(char matrix[SIZE][SIZE]) {
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
printf("%c ", matrix[i][j]);
}
printf("\n");
}
}
void shuffle(int *arr, int size) {
for (int i = size - 1; i > 0; i--) {
int j = rand() % (i + 1);
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
void generateMatrix(char matrix[SIZE][SIZE]) {
int nums[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
for (int block = 0; block < 3; block++) {
shuffle(nums, 9);
for (int i = 0; i < 3; i++) {
int row = block * 3 + i;
for (int j = 0; j < SIZE; j++) {
matrix[row][j] = '.';
}
int positions[SIZE] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
shuffle(positions, SIZE);
for (int k = 0; k < 3; k++) {
matrix[row][positions[k]] = nums[i * 3 + k] + '0';
}
}
}
}
int main() {
srand(time(NULL));
char matrix[SIZE][SIZE];
generateMatrix(matrix);
printMatrix(matrix);
return 0;
}
Loading…
Cancel
Save