#include <stdio.h>
/*函数名称: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<i-1;++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 结合起来变化还是很多的。。难以掌控。