有一个关于汗诺塔打印输出“运行结果”的问题请教大家?
程序代码如下://A塔上有m个盘子,从上到下依次增大,将A塔上的盘子移到C塔上,一次只能移动一个,而且也要保证C塔上的盘子从上到下依次增大,可以用B过度。
#include <stdio.h>
void move(char x,char y)
{
printf("%c-->%c ",x,y);
}
void hanoi(int n,char one,char two,char three)
{
if(n==1) move(one,three);
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
int main(void)
{
int m; //m是塔上的盘子数
clrscr();
printf("Input the number of disks:");
scanf("%d",&m);
printf("The step to moving %d disks:\n",m);
hanoi(m,'A','B','C'); //A,B,C分别代表三个塔
getch();
return 0;
}
问题是打印的结果不规则,我想让打印结果有规律的换行,该如何解决?
请大家运行一下指点指点。程序是用递归调用编的。