满意答案

/****************************

汉诺塔的算法就3个步骤:

第一,把a上的n-1个盘通过c移动到b。

第二,把a上的最下面的盘移到c。a成了空的。

第三,因为n-1个盘全在b上了,所以把b当做a.

重复以上步骤就好了。所以算法看起来就简单多了。

******************************/

#include

static int m=0;

void move(int n,char a,char b,char c)

{

if(n==1)

{

m++;

printf("第 %d 次移动:\n", m );

printf("\t%c->%c\n",a,c);    //当n只有1个的时候直接从a移动到c

}

else

{

move(n-1,a,c,b);                    //第n-1个要从a通过c移动到b

m++;

printf("第 %d 次移动:\n", m );

printf("\t%c->%c\n",a,c);

move(n-1,b,a,c);            //n-1个移动过来之后b变开始盘,b通过a移动到c,这边很难理解

}

}

int main()

{

int n=4;

//printf("请输入要移动的块数:");

// scanf("%d",&n);

move(n,'a','b','c');

return 0;

}

02分享举报

四柱子汉诺塔c语言程序代码,汉诺塔n=4(4个盘)c语言递归编程代码相关推荐

  1. 大一c语言程序设计项目教程课,C语言程序设计项目教程 教学课件 ppt 作者 王瑞红 C语言程序设计项目教程习题答案...

    C语言程序设计项目教程 教学课件 ppt 作者 王瑞红 C语言程序设计项目教程习题答案 习题答案模块 1 C 语言基础知识1. 选择题(1)C 语言中运算对象必须是整型的运算符是 (B ).A. %= ...

  2. 在c语言程序中将数据分为两种,2012年计算机二级C语言考点归纳汇总(一至四章)...

    第1章程序设计基本概念考点归纳 1.1 C语言的特点 C语言是近年来非常流行的语言,很多人宁愿放弃已经熟悉的其他语言而改用C语言,其原因是C语言有优于其他语言的一系列特点.下面是C语言的主要特点: ( ...

  3. c语言程序做四则运算还要余数,大整数四则运算 高质量C语言程序.doc

    大整数四则运算 高质量C语言程序 设计题目: 大整数的四则运算 1. 功能简介:编写出实现大整数之间相加,相减,相乘,相除的程序,并输出计算结构. 课程设计要求:采用模块化程序设计 源程序中应有足够的 ...

  4. C 语言程序设计基础不好,想10天考国二C语言程序设计证书,可能吗?

    实话告诉你:基本不可能!!! 除非你真的是一个学习力,逻辑能力,数学能力有很深的造诣的人! 这并不是在打击你考试的自信心. 为什么这么说呢?来看看计算机二级C语言程序考试(以下简称二级C),需要考什么 ...

  5. c语言 数组放空自己,DS1307 C语言程序 - ds1307怎么使用(ds1307引脚图及功能_c语言程序及典型应用电路)...

    DS1307 C语言程序 //******************************************************************** //************** ...

  6. 一个c语言程序有两个源文件,建立多个源文件的C语言程序.pdf

    建立多个源文件的C语言程序 建立多个源文件的C语言程序 输入.调试并执行一个C++程序 1. 建立多个源文件的C语言程序 一个C语言程序不一定只包含一个文件,它可以由多个文 件组成,比如它可以包含多 ...

  7. c语言程序能在android,android环境下编译并运行C语言程序

    我的环境: Ubuntu12.04 Android2.2 这里的C语言程序指的是运行与android系统的Linux内核上程序,目前为止有两种方法:第一种是自动编译,第二种是手动编译.这两种方法适用于 ...

  8. c语言程序员算法题库,100个超级经典地C语言算法,程序员必须练习.doc

    实用标准文案 文档大全 POJ上做做ACM的题 语言的学习基础,100个经典的算法 C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典 ...

  9. 自动化测试C语言程序,自动化测试程序之一自定义键盘的模拟测试程序(C语言)...

    一.测试程序编写说明 我们做的终端设备上运行的是QT应用程序,使用自定义的键盘接口.经过测试人员长时间的人机交互测试,来确认系统的功能是否满足需求.现在需要编写一个自动化的测试程序,能够按照预设的脚本 ...

最新文章

  1. [转]软件项目版本号的命名规则及格式
  2. 如何利用 notedown 完成 ipynb与markdown之间的格式转换?
  3. 字符串操作--宽窄字符转换
  4. leetcode算法题--多米诺与托米诺平铺★
  5. 使用python的Flask实现一个RESTful API服务器端
  6. 计算机应用基础知识点提纲,计算机应用基础复习提纲
  7. 汇编语言-008(条件跳转应用 、loopnz 条件循环指令使用 、loopz 条件循环指令使用 、 if语句编写汇编时 、while语句编写汇编时 、循环内的if语句嵌套)
  8. android开发中eclipse里xml开发的自动提示和使用帮助快捷键提示
  9. 端到端测试哪家强?不容错过的Cypress
  10. cpuv(cpuv2和v3有什么区别)
  11. (Spring+SpringMVC+mybatis)SSM企业职工工资管理系统
  12. Windows NT 就是指现在的 Windows
  13. Windows10系统下对于鲁大师一类捆绑流氓软件的解决方法
  14. 角色建模师来谈谈VR游戏角色制作流程
  15. 天猫精灵智能家居对接,及天猫iot官网配置图文讲解(一)
  16. OpenCV-图像翻转函数cv::filp
  17. mysql报错:1406, Data too long for column
  18. 试着用人话说说 使命 愿景 价值观,以及人的三观
  19. 02 编辑素材和Tilemap
  20. 项目实战:简易俄罗斯方块(附源码)

热门文章

  1. C# Winform中RichTextBox如何设置文本某段字体的颜色
  2. 【Linux】软连接/符号链接和硬链接
  3. 入门小白想学电影CG短片是如何制作的,看完这篇文章!
  4. ios Xib的几种用法[转]
  5. windows服务器的配置
  6. 如何复制copy别人的网站
  7. ProgrammingCodding的困惑
  8. 解决报错httpd: Could not reliably determine the server‘s fully qualified domain name
  9. 大数据开发步骤和流程
  10. Altium Designer 使用技巧