山东省第五届蓝桥杯 ///标题:打印图形//c/c++组

来源:互联网 发布:ubuntu安装vc2015 编辑:程序博客网 时间:2024/05/04 23:52


标题:打印图形


    小明在X星球的城堡中发现了如下图形和文字:



                                                                      




    小明开动脑筋,编写了如下的程序,实现该图形的打印。


#define N 70


void f(char a[][N], int rank, int row, int col)
{
if(rank==1){
a[row][col] = '*';
return;
}

int w = 1;
int i;
for(i=0; i<rank-1; i++) w *= 2;

____________________________________________;
f(a, rank-1, row+w/2, col);
f(a, rank-1, row+w/2, col+w);
}


int main()
{
char a[N][N];
int i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++) a[i][j] = ' ';

f(a,6,0,0);

for(i=0; i<N; i++){
for(j=0; j<N; j++) printf("%c",a[i][j]);
printf("\n");
}

return 0;
}




    请仔细分析程序逻辑,填写缺失代码部分。


    通过浏览器提交答案。注意不要填写题目中已有的代码。也不要写任何多余内容(比如说明性的文字)



————————————————————————————————————————————————

这个题一开始看到时我的内心是崩溃的,最受不了这种题了,还好我那时侯比赛我还上高中没有机会,希望我不要遇见这种题。。。。

好了说提吧——

这个题一看到就知道是分组递归求图形的

可是怎么分,他给了两种情况这就好做一些了,,,,

其实根据逻辑就能知道rank=6的时候是三个rank=5的时候摞起来的

所以把他救分成了上面一部分和下面两部分。。。。。。。





0 0