漢諾塔的C語言實現

m45y 9年前發布 | 990 次閱讀 C/C++ 漢諾塔

/*

  • 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); }</pre>

 本文由用戶 m45y 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!