• 十一周作业


    本周作业头

    这个作业属于那个课程 C语言程序设计II
       
    我在这个课程的目标是 汉诺塔
    这个作业在那个具体方面帮助我实现目标 递归
    参考文献 C语言

    汉诺塔是一个源于印度古老传说的益智玩具。据说大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘,大梵天命令僧侣把圆盘移到另一根柱子上,并且规定:在小圆盘上不能放大圆盘,每次只能移动一个圆盘。当所有圆盘都移到另一根柱子上时,世界就会毁灭。

    题图1.jpg

    请编写程序,输入汉诺塔圆片的数量,输出移动汉诺塔的步骤。

    输入格式

    圆盘数 起始柱 目的柱 过度柱

    输出格式

    移动汉诺塔的步骤
    每行显示一步操作,具体格式为:
    盘片号: 起始柱 -> 目的柱
    其中盘片号从 1 开始由小到大顺序编号。

    输入样例

    3
    a c b
    

    输出样例

    1: a -> c
    2: a -> b
    1: c -> b
    3: a -> c
    1: b -> a
    2: b -> c
    1: a -> c

    实验代码
       #include<stdio.h>

       void hano(int n,char x,char y,char z);

       int main ()

    {

       int n;

       char x,y,z;

       scanf("%d ",&n);

       scanf("%c %c %c ",&x,&y,&z);

       hano(n,x,y,z);

    }

       void hano(int n,char x,char y,char z)

    {

        if(n==1)

    {

        printf("%d: %c -> %c ",n,x,y);

    }

       else

    {

       hano(n-1,x,z,y);

       printf("%d: %c -> %c ",n,x,y);

      hano(n-1,z,y,x);

    }

    }
     
     

     

    二、学习进度条

    周/日期这周所花的时间代码行数学到的知识点简介目前比较迷惑的问题
    3/2-3/8 8h 100 文件入门 数组串,指针
    3/9-3/15 10h 110 文件与数组 双for循环的流程图
    3/16-3/22 3h 150 数组排序法 字符串使用
    3/23-3/29 5h 200 字符串的定义及其使用 指针
    3/30-4/5 2h 100 指针变量的定义, 指针
    4/6-4/12 4h 100 数组名 指针函数
    4/13-4/19 5h 50 指针数组 结构体
    4/20-4/26 10h 40 递归 递归

    三、学习感悟

    心得:

    (1) 学习内容:
    1递归函数
    收获:
    (2) 难点: 递归  逻辑
    解决的方法:捋清楚每个变量之间的关系

    四、结对编程

    1.结对编程过程

    本次作业主要是啥都不会 虽然老师上课讲过汉诺塔 但只是略听懂了一点思路  并没有自己的方法  

    2.结对编程的优缺点

    优点:1.无限求学
    2.提供思路
     
    缺点:学着学着就自己打王者了 
  • 相关阅读:
    异常处理器
    Controller方法返回值
    @RequestMapping定义不同的处理器映射规则
    高级参数绑定(数组和List绑定)
    跟Google学习Android开发-起始篇-用碎片构建一个动态的用户界面(3)
    跟Google学习Android开发-起始篇-用碎片构建一个动态的用户界面(4)
    XML FREESWITCH APPLICATION 实现
    【送给新手】重复代码解决示例二
    二分查找及扩展
    IE 文档模型设置 免去你IE 按F12去调文档标准的烦恼。
  • 原文地址:https://www.cnblogs.com/JCclub/p/10841599.html
Copyright © 2020-2023  润新知