Advertisement

C语言 棋盘覆盖 代码注释+运行结果

阅读量:

以下为代码示例:

复制代码
 #include<stdio.h>

    
 int board[100][100];
    
 int t;
    
 void cover(int left_i,int right_j,int dot_i,int dot_j,int size) {
    
 	if (size == 1) {//判断是否k=0;
    
 		return ;
    
 	}
    
 	//记录L贴纸
    
 	int tem = ++t;
    
 	int s = size / 2;//棋盘分开;s为已分方形边长
    
 	if (dot_i < left_i + s && dot_j < right_j + s) {//判断左上 if有特殊,递归,else 右下角设置L贴纸,带入函数递归;
    
 		cover(left_i, right_j, dot_i, dot_j, s);
    
 	}
    
 	else {
    
 		board[left_i + s - 1][right_j + s - 1]=tem;
    
 		cover(left_i, right_j, left_i + s - 1, right_j + s - 1, s);
    
 	}
    
 	//右上   左下设置

全部评论 (0)

还没有任何评论哟~