思路:
以图形中点为中心点,分成4个area
每个area里面进行fun函数操作,找到中心点,赋+
每个area的开始位置和结束位置决定了这个area
#include<stdio.h>
#include<string.h>
int array[65][65];
int n;
void fun(int ksh,int ksl,int jsh,int jsl)
{
if(ksh>jsh||ksl>jsl) return;
int midh=(ksh+jsh)/2;
int midl=(ksl+jsl)/2;
array[midh][midl]=1;
fun(ksh,ksl,midh-1,midl-1); //area1
fun(ksh,midl+1,midh-1,jsl); //area2
fun(midh+1,ksl,jsh,midl-1); //area3
fun(midh+1,midl+1,jsh,jsl); //area4
}
int main()
{
int i,j;
scanf("%d",&n);
// for(j=1;j<=n;j++)
// for(i=1;i<=n;i++)
// array[j][i]=0; //a[][]置零
//
fun(1,1,n,n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(array[i][j]==1)
printf("+");
else if(array[i][j]==0)
printf("0");
}
printf("\n");
}
return 0;
}