Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19279984
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: C/C++

2008-05-30 18:35:01

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’);

[NextPage]

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’);

阅读(476) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~