汉诺塔的图形解法

汉诺塔的图形解法

ID:15858118

大小:50.50 KB

页数:4页

时间:2018-08-06

汉诺塔的图形解法_第1页
汉诺塔的图形解法_第2页
汉诺塔的图形解法_第3页
汉诺塔的图形解法_第4页
资源描述:

《汉诺塔的图形解法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、汉诺塔的图形解法#include"stdio.h"#include"dos.h"#include"conio.h"/*定义两个数组a[4][11],b[4],其中a[4][11]用来指向柱子上的内容(碟片),b[4]用来标志柱子上的碟片高度*/inta[4][11]={{0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0}},b[4]={0,0,0,0};FILE*TEMP;/*定义一个移除碟片的函数,vo

2、idremovef(起始位置,高度,碟片的大小)*********************************/voidremovef(charstart,intheight,intsize){        intzb_x;        textbackground(3);        switch(start)        {                  case'A':zb_x=11;break;                  case'B':zb_x=32;break;                  case

3、'C':zb_x=53;break;        }        for(;size>0;size--)        {                  gotoxy(zb_x-size,11-height);                  cprintf("%c",0);                  gotoxy(zb_x+size,11-height);                  cprintf("%c",0);        }   delay(35000);}/*定义一个重建碟片的函数,voidcreate

4、f(移动到位置,高度,碟片的大小)*******************************/voidcreatef(charend,intheight,intsize){        intzb_x;        textbackground(0);        switch(end)        {                  case'A':zb_x=11;break;                  case'B':zb_x=32;break;                  case'C':zb_x=53;b

5、reak;        }        for(;size>0;size--)        {                  gotoxy(zb_x-size,11-height);                  cprintf("%c",0);                  gotoxy(zb_x+size,11-height);                  cprintf("%c",0);        }        delay(35000);}/*汉诺塔递归算法,并讲结果写入文件指针TEMP指向的文件***

6、******************************************/intmove(intN,intA,intB,intC){   if(N==1)   {     fputc(A,TEMP);     fputc(C,TEMP);      }   else   {     move(N-1,A,C,B);     fputc(A,TEMP);     fputc(C,TEMP);     move(N-1,B,A,C);   }}main(){        voidremovef(char,int,int);    

7、    voidremovef(char,int,int);        intmove(int,int,int,int);   intN,i,j,k,m,n,hei,counter=0,height0,height1,size,disksize;   charcur_char;   /*建立一个用于存储递归函数输出的文件********************************************************/   TEMP=fopen("D:\MDL.txt","w");   fclose(TEMP);   /

8、*让用户输入汉诺塔的层数,并初始化a[1][]的内容***********************************************/   printf("inpu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。