1. 程式人生 > >用C語言解決(hanoi)漢諾塔問題——函式的遞迴呼叫

用C語言解決(hanoi)漢諾塔問題——函式的遞迴呼叫

#include <stdio.h>
void main()
{
void hanoi(int n,char one,char two,char three);
int n;
printf("請輸入需要移動的盤子數:\n");
scanf("%d",&n);
hanoi(n,'A','B','C');
}


void hanoi(int n,char one,char two,char three)
{
void move(char x,char y);
if(n==1)
{
printf("%c-->%c\n",one,three);
}
else
{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}


void move(char x,char y)
{
printf("%c-->%c\n",x,y);
}