Compare commits
3 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
05b690c267 | 3 years ago |
|
|
988bf86a4e | 3 years ago |
|
|
0fe85c1ca4 | 3 years ago |
@ -0,0 +1,31 @@
|
||||
#include <stdio.h>
|
||||
int main(){
|
||||
int board[9][9]={{5,3,4,6,7,8,9,1,2},
|
||||
{6,7,2,1,9,5,3,4,8},
|
||||
{1,9,8,3,4,2,5,6,7},
|
||||
{8,5,9,7,6,1,4,2,3},
|
||||
{4,2,6,8,5,3,7,9,1},
|
||||
{7,1,3,9,2,4,8,5,6},
|
||||
{9,6,1,5,3,7,2,8,4},
|
||||
{2,8,7,4,1,9,6,3,5},
|
||||
{3,4,5,2,8,6,1,7,9}};
|
||||
int i=0,j=0,k=0,s=0;
|
||||
printf("|---|---|---|---|---|---|\n");
|
||||
for(i=0;i<9;++i){
|
||||
for(j=0;j<9;j++){
|
||||
while(j%3==0){
|
||||
printf("| ");
|
||||
break;
|
||||
}
|
||||
printf("%d ",board[i][j]);
|
||||
}
|
||||
printf("|\n");
|
||||
while((i+1)%3==0){
|
||||
printf("|---|---|---|---|---|---|\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <stdlib.h>
|
||||
void swap(int *a,int *b){//交换函数
|
||||
int temp;
|
||||
temp=*a;
|
||||
*a=*b;
|
||||
*b=temp;
|
||||
}
|
||||
void shuffle(int *array,int size){ //随机交换
|
||||
int i;
|
||||
int j;
|
||||
srand(time(NULL));
|
||||
for(i=size-1;i>0;i--){
|
||||
j=rand()%(i+1);
|
||||
swap(&array[i],&array[j]);
|
||||
}
|
||||
}
|
||||
void fillBoard(int board[9][9])
|
||||
{
|
||||
int arr[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
|
||||
int positions[9];//位置 从0到8
|
||||
int i,j;
|
||||
for (i=0;i<9;i++)
|
||||
{
|
||||
positions[i]=i;
|
||||
}
|
||||
//每三行
|
||||
for (i=0;i<9;i+= 3)
|
||||
{
|
||||
shuffle(arr,9);//随机0-9 随机位置
|
||||
shuffle(positions,9);
|
||||
for (j = 0; j < 3; j++)
|
||||
{//每三行填充
|
||||
board[i][positions[j]] = arr[j];
|
||||
board[i+1][positions[j+3]] = arr[j+3];
|
||||
board[i+2][positions[j+6]] = arr[j+6];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void print(int board[9][9]){//格式化输出函数
|
||||
printf("|---|---|---|---|---|---|\n");
|
||||
int i=0,j=0,s=0,k=0;
|
||||
for(i=0;i<9;++i){
|
||||
for(j=0;j<9;j++){
|
||||
while(j%3==0){
|
||||
printf("| ");
|
||||
break;
|
||||
}
|
||||
printf("%d ",board[i][j]);
|
||||
}
|
||||
printf("|\n");
|
||||
while((i+1)%3==0){
|
||||
printf("|---|---|---|---|---|---|\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
int main(){
|
||||
int board[9][9]={0};//初始化
|
||||
fillBoard(board);
|
||||
|
||||
print(board);
|
||||
return 0;
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <stdlib.h>
|
||||
void swap(int *a,int *b){
|
||||
int temp;
|
||||
temp=*a;
|
||||
*a=*b;
|
||||
*b=temp;
|
||||
}
|
||||
void shuffle(int *array,int size){
|
||||
int i;
|
||||
int j;
|
||||
for(i=8;i>0;i--){
|
||||
j=rand()%(size+1);
|
||||
swap(&array[i],&array[j]);
|
||||
}
|
||||
}
|
||||
int main(){
|
||||
int board[9][9]={0};
|
||||
int number[9]={1,2,3,4,5,6,7,8,9};
|
||||
srand(time(NULL));
|
||||
int m=rand()%10,n=rand()%10,t=rand()%10;
|
||||
int i=0,j=0,k=0,s=0;
|
||||
for(k=0;k<3;k++){
|
||||
shuffle(number,9);
|
||||
int column[3]={0,3,6};
|
||||
for(i=0;i<3;i++){
|
||||
for(j=0;j<3;j++){
|
||||
board[k*3+i][column[j]]=number[i*3+j];
|
||||
}
|
||||
}
|
||||
}
|
||||
printf("|---|---|---|---|---|---|\n");
|
||||
for(i=0;i<9;++i){
|
||||
for(j=0;j<9;j++){
|
||||
while(j%3==0){
|
||||
printf("| ");
|
||||
break;
|
||||
}
|
||||
printf("%d ",board[i][j]);
|
||||
}
|
||||
printf("|\n");
|
||||
while((i+1)%3==0){
|
||||
printf("|---|---|---|---|---|---|\n");
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Loading…
Reference in new issue