#include <stdio.h>
#define SIZE 8
char cb[SIZE][SIZE];
char tile = 'A';
size_t dr = 5 , dc = 7;
void cover(char cb[SIZE][SIZE] , size_t tr , size_t tc , size_t dr , size_t dc , size_t size) {
if ( 1 == size )
return ;
char t = tile++;
size_t s = size / 2;
if ( dr < tr + s && dc < tc + s )
cover(cb , tr , tc , dr , dc , s);
else {
cb[tr + s - 1][tc + s - 1] = t;
cover(cb , tr , tc , tr + s - 1 , tc + s - 1 , s);
}
if ( dr < tr + s && dc >= tc + s )
cover(cb , tr , tc + s , dr , dc , s);
else {
cb[tr + s - 1][tc + s] = t;
cover(cb , tr , tc + s , tr + s - 1 , tc + 1 , s);
}
if ( dr >= tr + s && dc < tc + s )
cover(cb , tr + s , tc , dr , dc , s);
else {
cb[tr + s][tc + s - 1] = t;
cover(cb , tr + s , tc , tr + s , tc + s - 1 , s);
}
if ( dr >= tr + s && dc >= tc + s )
cover(cb , tr + s , tc + s , dr , dc , s);
else {
cb[tr + s][tc + s] = t;
cover(cb , tr + s , tc + s , tr + s , tc + s , s);
}
}
void print(char cb[SIZE][SIZE]) {
size_t i , j;
for ( i = 0 ; i < SIZE ; i++ ) {
for ( j = 0 ; j < SIZE ; j++ )
printf("%c " , cb[i][j]);
printf("\n\n");
}
}
int main() {
cb[dr][dc] = '*';
cover(cb , 0 , 0 , dr , dc , SIZE);
print(cb);
return 0;
}
抗衰老的减肥快乐的设计费