1 自己做的~程序有点过长~构思是采用从外到里的方式~先定义T,然后就是J~一直到最里面~
main()
{char a[20][20];
int i,j,k=0;
for(i=0;i<20;i++)
for(j=0;j<20;j++)
{a[0][j]=’T’;
a[i][0]=’T’;
a[i][19]=’T’;
a[19][j]=’T’;
}
for(i=1;i<19;i++)
for(j=1;j<19;j++)
{a[1][j]=’J’;
a[i][1]=’J’;
a[i][18]=’J’;
a[18][j]=’J’;
}
for(i=2;i<18;i++)
for(j=2;j<18;j++)
{a[2][j]=’1’;
a[i][2]=’1’;
a[i][17]=’1’;
a[17][j]=’1’;
}
for(i=3;i<17;i++)
for(j=3;j<17;j++)
{a[3][j]=’2’;
a[i][3]=’2’;
a[i][16]=’2’;
a[16][j]=’2’;
}
for(i=4;i<16;i++)
for(j=4;j<16;j++)
{a[4][j]=’3’;
a[i][4]=’3’;
a[i][15]=’3’;
a[15][j]=’3’;
}
for(i=5;i<15;i++)
for(j=5;j<15;j++)
{a[5][j]=’4’;
a[i][5]=’4’;
a[i][14]=’4’;
a[14][j]=’4’;
}
for(i=6;i<14;i++)
for(j=6;j<14;j++)
{a[6][j]=’5’;
a[i][6]=’5’;
a[i][13]=’5’;
a[13][j]=’5’;
}
for(i=7;i<13;i++)
for(j=7;j<13;j++)
{a[7][j]=’6’;
a[i][7]=’6’;
a[i][12]=’6’;
a[12][j]=’6’;
}
for(i=8;i<12;i++)
for(j=8;j<12;j++)
{a[8][j]=’7’;
a[i][8]=’7’;
a[i][11]=’7’;
a[11][j]=’7’;
}
for(i=9;i<11;i++)
for(j=9;j<11;j++)
{a[9][j]=’8’;
a[i][9]=’8’;
a[i][10]=’8’;
a[10][j]=’8’;
}
for(i=0;i<20;i++)
{for(j=0;j<20;j++)
printf("%c",a[i][j]);
printf("\\n");
}
getch();
}
2 别人做的~果然是用FOR的高手~比我强多了~很明显~这知识要COPY过来~
int main()
{char a[22][22];
int i,j,n,t;
printf("Enter n:");
scanf("%d",&n);
t=(n+1)/2;
for (i=1;i<=t;a[1][i]=’T’,a[i++][1]=’T’);
for (i=2;i<=t;a[2][i]=’J’,a[i++][2]=’J’);
for (i=3;i<=t;i++)
for (j=i;j<=t;a[i][j]=i+46,a[j++][i]=i+46);
for (i=1;i<=t;i++)
for (j=t+1;j<=n;a[i][j]=a[i][n-j+++1]);
for (i=t+1;i<=n;i++)
for (j=1;j<=n;a[i][j]=a[n-i+1][j++]);
for (i=1;i<=n;a[i++][n+1]=’\\n’);