查特殊方块是否在右上角子棋盘中ChessBoard(tr,tc+s,dr,dc,s);}else{//不在,将该子棋盘左下角的方块视为特殊方块Board[tr+s-1][tc+s]=t;ChessBoard(tr,tc+s,tr+s-1,tc+s,s);}if(dr>=tr+s&&dc<tc+s){//检查特殊方块是否在左下角子棋盘中ChessBoard(tr+s,tc,dr,dc,s);}else{//不在,将该子棋盘右上角的方块视为特殊方块Board[tr+s][tc+s-1]=t;ChessBoard(tr+s,tc,tr+s,tc+s-1,s);}if(dr>=tr+s&&dc>=tc+s){//检查特殊方块是否在右下角子棋盘中ChessBoard(tr+s,tc+s,dr,dc,s);}else{//不在,将该子棋盘左上角的方块视为特殊方块Board[tr+s][tc+s]=t;ChessBoard(tr+s,tc+s,tr+s,tc+s,s);}}voidmain(){intn;intsize;//棋盘大小printf("请输入一个数字,将为您创建2^n*2^n大小的棋盘:");scanf_s("%d",&n);intx,y;size=(int)pow(2.0,(int)n);printf("输入特殊方格的横坐标:");?scanf_s("%d",&x);?printf("输入特殊方格的横坐标:");?scanf_s("%d",&y);ChessBoard(0,0,x,y,size);printf("程序运行结果如下所示:\n");for(inti=0;i<size;i++){for(intj=0;j<size;j++){printf("%d\t",Board[i][j]);}printf("\n");}printf("\n");system("pause");