/*
* this file is the implementation of hanoi game
* file name: hanoi.c
* author: John Woods
* date: 2015/05/30
* statement: anyone can use this file for any purpose
*/
#include
#include
//function declarations
void hanoi(int n, char x, char y, char z);
void move(int n, char x, char y);
//program entrance
int main(void) {
char c;
int n = 0; //the height of hanoi
printf("please input the height of hanoi:");
while(!scanf("%d", &n)) {
while((c=getchar())!='\n' || c!=EOF);
printf("bad input! try again:");
}
hanoi(n, 'x', 'y', 'z');
return 0;
}
//function implementations
void hanoi(int n, char x, char y, char z) {
if(1 == n) {
move(1, x, z);
} else {
hanoi(n-1, x, z, y);
move(n, x, z);
hanoi(n-1, y, x, z);
}
}
void move(int n, char x, char z) {
printf("move disk %d from %c to %c\n", n, x ,z);
}