您的位置:首页 > 编程语言 > C语言/C++

2014 蓝桥杯 预赛 c/c++ 本科B组 第五题:打印图形 (12' )

2015-10-22 20:47 393 查看
小明在X星球的城堡中发现了如下图形和文字:

rank=3

*

* *

* *

* * * *

rank=5

*

* *

* *

* * * *

* *

* * * *

* * * *

* * * * * * * *

* *

* * * *

* * * *

* * * * * * * *

* * * *

* * * * * * * *

* * * * * * * *

* * * * * * * * * * * * * * * *

ran=6

*

* *

* *

* * * *

* *

* * * *

* * * *

* * * * * * * *

* *

* * * *

* * * *

* * * * * * * *

* * * *

* * * * * * * *

* * * * * * * *

* * * * * * * * * * * * * * * *

* *

* * * *

* * * *

* * * * * * * *

* * * *

* * * * * * * *

* * * * * * * *

* * * * * * * * * * * * * * * *

* * * *

* * * * * * * *

* * * * * * * *

* * * * * * * * * * * * * * * *

* * * * * * * *

* * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

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

#define N 70

void f(char a[]
, 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

;

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;

}

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

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

解题思路:这种题目只能一步一步去分析。如果一眼能看出来的就挺好,看不出来就慢慢分析。

答案: f(a,rank-1,row,col);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: