汉诺塔c语言
在这里插入代码片
#include<stdio.h>
int i=0;//定义全局变量,记录步数
void hannuo(int n,char a,char b,char c){
if(n==1){
i++;//n=1,直接移过去
printf("第%d个盘子从%c--->%c\n",n,a,c);
}
else{
i++;//其他的就是把n-1个移动到b,再把第n个移到c。再把n-1移动到c
hannuo(n-1,a,c,b);
printf("第%d个盘子从%c--->%c\n",n,a,c);
hannuo(n-1,b,a,c);
}
}
int main(){
idea:
int n=0;
i=0;
printf("please input the number n:\n");
scanf("%d",&n);
hannuo(n,'a','b','c');
printf("一共%d步",i);
printf("\n");
if(n!=0) goto idea;
else printf("end!");
return 0;
}