- /*
- * 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 <stdio.h>
- #include <stdlib.h>
- //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);
- }
来源: http://www.phpxs.com/code/1004201/