主题:菜鸟求助。
这是一段汉诺塔的程序:
#include <stdio.h>
void hanio (int n, char A, char B, char C);
void move (char x,char y);
void main()
{
int n;
printf("input the number of diskes: ");
scanf("%d",&n);
printf("the step to moving %d diskes:\n", n);
hanio (n,'A','B','C');
}
void hanio (int n, char A, char B, char C)
{
if (n==1)
move (A,C);
else
{
hanio(n-1,A,C,B);
move (A,C);
hanio(n-1,B,A,C);
}
}
void move (char x, char y)
{
printf("%c -----> %c\n",x,y);
}
怎样才可以在输出步骤的同时。。前面输出这是这几步。
如:这是第一步:A----->C.
谢谢!!
#include <stdio.h>
void hanio (int n, char A, char B, char C);
void move (char x,char y);
void main()
{
int n;
printf("input the number of diskes: ");
scanf("%d",&n);
printf("the step to moving %d diskes:\n", n);
hanio (n,'A','B','C');
}
void hanio (int n, char A, char B, char C)
{
if (n==1)
move (A,C);
else
{
hanio(n-1,A,C,B);
move (A,C);
hanio(n-1,B,A,C);
}
}
void move (char x, char y)
{
printf("%c -----> %c\n",x,y);
}
怎样才可以在输出步骤的同时。。前面输出这是这几步。
如:这是第一步:A----->C.
谢谢!!