汉诺塔的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); }
代码未经过严格测试,有bug请告知,谢谢!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。