回文(笔试题)

#include

/*函数名称:HuiWen
 *函数功能:产生字符A、B、C所组成的长度小于2n的全部互文
 *返回类型:无返回值
 *函数参数:p:字符指针,i:起始位置,n:长度
 */
void HuiWen(char * p, int i, int n)
{
 int j;
 if (i>0)
 {
  for (j=0;j   {
   putchar(p[j]);
  }
  for (j=i-1;j>=0;--j)
  {
   putchar(p[j]);
  }
  putchar('\n');
  for (j=0;j<=i-1;++j)
  {
   putchar(p[j]);
  }
  for (j=i-1;j>=0;--j)
  {
   putchar(p[j]);
  }
  putchar('\n');
 }

 while ( i < n )
 {
  char c;
  for ( c='A';c<='C';c++)
  {
   j=i;
   p[j] = c;
   HuiWen(p,++j,n);
  }
  i++;
 }
}

int main(int argc, char* argv[])
{
 char c[3];
 HuiWen(c,0,3);
 return 0;
}
//一道笔试的填空题,但是原题的空觉得填不出来,改写了一下。
//while 和 for;while 和 if 结合起来变化还是很多的。。难以掌控。

转载于:https://www.cnblogs.com/helbhu/archive/2007/12/20/1006783.html

你可能感兴趣的:(回文(笔试题))