本文共 1288 字,大约阅读时间需要 4 分钟。
5.标题:打印图形 小明在X星球的城堡中发现了如下图形和文字: rank=3 * * * * * * * * * rank=5 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ran=6 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 小明开动脑筋,编写了如下的程序,实现该图形的打印。 思路:把每个大的分成比他小一级的三个小的 递归进行(没完全搞明白,有时间再看)
#define N 70#include void f(char a[][N], int rank, int row, int col) { if(rank == 1){ a[row][col] = '*'; return; } int w = 1; for(int i = 0; i < rank-1; ++i) w *= 2; f(a, rank-1, row, col+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; }
转载地址:http://xqimi.baihongyu.com/