回型嵌套
***********
* *
* ******* *
* * * *
* * *** * *
* * * * * *
* * *** * *
* * * *
* ******* *
* *
***********
观察这个图形,它是由一系列正方形的星号方框嵌套而成。
在上边的例子中,最外方框的边长为11。
本题的任务就是从标准输入获得一个整数n(1<n<100)
程序则生成嵌套着的回字型星号方框。其最外层方框的边长为n
例如:
输入:
5
程序输出:
*****
* *
* * *
* *
*****
输入:6
程序输出:
******
* *
* ** *
* ** *
* *
******
1 #include<stdio.h> 2 char a[100][100]={0},n; 3 //画边框:m表示从坐标(m,m) 开始画。n表示'*' 的个数, 4 void fun(int m,int n) 5 { 6 if(n<0) return ; 7 int k=m+n-1;//k表示终点坐标(k,k) 8 for(int i=m;i<=k;i++) 9 for(int j=m;j<=k;j++) 10 if(i==m||i==k||j==m||j==k) 11 a[i][j]=1; 12 fun(m+2,n-4); 13 } 14 int main() 15 { 16 scanf("%d",&n); 17 fflush(stdin); 18 fun(1,n); 19 for(int i=1;i<=n;i++) 20 { 21 for(int j=1;j<=n;j++) 22 if(a[i][j])printf("*"); 23 else printf(" "); 24 putchar('\n'); 25 } 26 getchar(); 27 return 0; 28 }