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