由于不允许带U盘拷贝题目,所以目前就没题目了。当时花了我将近一个小时的时间。
1 #include<stdio.h> 2 #include<math.h> 3 char flag[50][50]={0}; 4 void fun(int m,int k) 5 { 6 if(k<0) return; 7 int end=4*k+4+m; 8 for(int i=m+2;i<=end-2;i++) 9 flag[m][i]=flag[end][i]=1; 10 flag[m+1][m+2]=flag[m+1][end-2]=1; 11 flag[m+2][m+2]=flag[m+2][end-2]=1; 12 flag[m+2][m+1]=flag[m+2][end-1]=1; 13 flag[end-1][m+2]=flag[end-1][end-2]=1; 14 flag[end-2][m+2]=flag[end-2][end-2]=1; 15 flag[end-2][m+1]=flag[end-2][end-1]=1; 16 for(int i=m+2;i<=end-2;i++) 17 flag[i][m]=flag[i][end]=1; 18 fun(m+2,k-1); 19 } 20 int main() 21 { 22 int m=1,k=10; 23 fun(m,k); 24 int n=4*k+4+m; 25 for(int i=1;i<=n;i++) 26 { 27 for(int j=1;j<=n;j++) 28 if(flag[i][j]) putchar('$'); 29 else putchar('.'); 30 printf("\n"); 31 } 32 getchar(); 33 return 0; 34 }