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

2020-02-27 其他范文 下载本文

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语言程序设计(汉诺塔问题).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言程序设计(汉诺塔问题)
点击下载文档
相关专题 汉诺塔问题c程序 语言程序设计 汉诺 汉诺塔问题c程序 语言程序设计 汉诺
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文