C语言程序设计(汉诺塔问题)_汉诺塔问题c程序

其他范文 时间:2020-02-27 09:55:38 收藏本文下载本文
【www.daodoc.com - 其他范文】

C语言程序设计(汉诺塔问题)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“汉诺塔问题c程序”。

C语言程序设计(汉诺塔设计)

#include void main(){void tian(int n,int x,int y,int z);

/*函数声明*/

int m;printf(“please enter the number of diskes:n”);scanf(“%d”,&m);printf(“the step of move %d diskes :”,m);tian(m,'A','B','C');

} void tian(int n,int x,int y,int z)

/*当我选定这一行的时候 然后单击组间选择调试

run to_

发现不管输入的x值是多少

ABC的值都是65 66 67

后来才发现原来是他们所代表的十进制的值*/ {void move(int x,int y);

if(n==1)move(x,z);

/*这里是递归函数的结束条件*/ else

{tian(n-1,x,z,y);move(x,y);

tian(n-1,y,x,z);} } void move(int x, int y)

/*

定义move函数用来显示移动的路线*/ {printf(“%c——>%cn”,x,y);

} /*汉洛塔问题:如果有N个盘子

那么可以简化为n-1个盘子和一个盘子来处理,只要先把上面的n-1个盘子从A——>B

把第n个盘子由A——>C 再把n-1个盘子由B——>C 即可;

n-1盘子

那么可以简化为n-2个盘子和一个盘子来处理

只要

把上面的n-2个盘子从A——>B

把第n个盘子由A——>C 再把n-1个盘子由B——>C 即可;

n-3盘子

那么可以简化为n-3个盘子和一个盘子来处理

只要

把上面的n-4个盘子从A——>B

把第n个盘子由A——>C 再把n-1个盘子由B——>C 即可;

N-4

.....4个盘子

那么可以简化为3个盘子和一个盘子来处理

只要 把上面的3个盘子有a 到b

把第4个盘子由a到c 再把上面的三个盘子由b到c;

3个盘子

可以简化为。。*/

下载C语言程序设计(汉诺塔问题)word格式文档
下载C语言程序设计(汉诺塔问题).doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文