汉诺塔的图形解法.docVIP

  • 7
  • 0
  • 约 4页
  • 2017-06-08 发布于重庆
  • 举报
汉诺塔的图形解法

汉诺塔的图形解法 #include stdio.h #include dos.h #include conio.h /*定义两个数组a[4][11],b[4],其中a[4][11]用来指向柱子上的内容 碟片 ,b[4]用来标志柱子上的碟片高度*/ int a[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; /*定义一个移除碟片的函数,void removef 起始位置,高度,碟片的大小 *********************************/ void removef char start,int height,int size int zb_x; textbackground 3 ; switch start case A:zb_x 11;break; case B:zb_x 32;break; case 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 ; /*定义一个重建碟片的函数,void createf 移动到位置,高度,碟片的大小 *******************************/ void createf char end,int height,int size int zb_x; textbackground 0 ; switch end case A:zb_x 11;break; case B:zb_x 32;break; case 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 ; /*汉诺塔递归算法,并讲结果写入文件指针TEMP指向的文件*********************************************/ int move int N,int A,int B,int C 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 void removef char,int,int ; void removef char,int,int ; int move int,int,int,int ; int N,i,j,k,m,n,hei,counter 0,height0,height1,size,disksize; char cur_char; /*建立一个用于存储递归函数输出的文件********************************************************/ TEMP fopen D:\\MDL.txt,w ; fclose TEMP ; /*让用户输入汉诺塔的层数,并初始化a[1][]的内容***********************************************/ printf input number 1-10 : ; scanf %d,N ; for m N,n 1;m 0;m--,n++ a[1][11-n] m; /*初始化A柱子上碟片的高度*******************************************************************/ b[1] N; /*初始化汉诺塔模型**************************************************************************/ clrscr ; textbackground 0 ; for i 1;i 10;i++ gotoxy 11,i ; cprintf %c,0 ; gotoxy 32,i ; cprintf %c,0 ; gotoxy 53,i ; cprintf %c,0 ; for i 10,j N;i 10-N j 0;i--,j-- for k 1;k j;k++ gotoxy 11-k,i ; cprintf %c,0

文档评论(0)

1亿VIP精品文档

相关文档