diff --git a/第二题.c b/第二题.c new file mode 100644 index 0000000..a05bdb6 --- /dev/null +++ b/第二题.c @@ -0,0 +1,111 @@ +#include +#include +#include +int i,n,j,k,m; +int b[11]; +int main() +{ + srand(time(NULL)); + int a[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}}; + for(i=0;i<3;i++) + { + j=0; + while(j<3) + { + m=rand()%10; + if(m==0||b[m]==1) + continue; + int w=0; + for(w=0;w<9;w++) + { + if(a[i][w]==m) + { + a[i][w]=-a[i][w]; + j++; + b[m]=1; + break; + } + } + } + } + for(i=0;i<=10;i++) + b[i]=0; + for(i=3;i<6;i++) + { + j=0; + while(j<3) + { + m=rand()%10; + if(m==0||b[m]==1) + continue; + int w=0; + for(w=0;w<9;w++) + { + if(a[i][w]==m) + { + a[i][w]=-a[i][w]; + j++; + b[m]=1; + break; + } + } + } + } + for(i=0;i<=10;i++) + b[i]=0; + for(i=6;i<9;i++) + { + j=0; + while(j<3) + { + m=rand()%10; + if(m==0||b[m]==1) + continue; + int w=0; + for(w=0;w<9;w++) + { + if(a[i][w]==m) + { + a[i][w]=-a[i][w]; + j++; + b[m]=1; + break; + } + } + } + } + for(i=0;i<9;i++) + { + printf("|"); + if(i==0||i==3||i==6) + { + for(k=0;k<23;k++) + printf("-"); + printf("|\n|"); + } + printf(" "); + for(j=0;j<9;j++) + { + + if(a[i][j]>0) + printf(". "); + else + printf("%d ",-a[i][j]); + if(j==2||j==5) + printf("| "); + } + printf("|\n"); + } + printf("|"); + for(k=0;k<23;k++) + printf("-"); + printf("|\n"); +} \ No newline at end of file