当前位置: 首页 > news >正文

春季学期第十一周作业

本周作业头

这个作业属于那个课程C语言程序设计II
这个作业要求在哪里https://edu.cnblogs.com/campus/zswxy/computer-scienceclass4-2018/homework/3203
我在这个课程的目标是学习递归函数
这个作业在哪个具体方面帮助我实现目标能够灵活的运用递归函数
参考文献C语言程序设计II

基础作业

7-1 汉诺塔问题* (10 分)

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

输入格式

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

输出格式

移动汉诺塔的步骤
每行显示一步操作,具体格式为:
盘片号: 起始柱 -> 目的柱
其中盘片号从 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

1、实验代码:

#include<stdio.h>
void hannota(int n,char a,char c,char b);
int main(void)
{
    int n;
    char a,c,b;
    scanf("%d %c %c %c",&n,&a,&c,&b);
    hannota(n,a,c,b);
    
    return 0; 
 } 
 
 void hannota(int n,char a,char c,char b)
 {
    if(n==1)
           printf("1: %c -> %c\n",a,c);
    else{
        hannota(n-1,a,b,c);
        printf("%d: %c -> %c\n",n,a,c);
        hannota(n-1,b,c,a);
     }
 }

2、流程图:1581790-20190510224343677-1720789402.png
3、本题中出现的错误或遇到的问题:刚开始看题没看懂,后来问室友怎么写。
4、运行截图:
1581790-20190510221852471-716504917.png

学习进度:

周/日期这周所花时间代码行数学到的知识点简介
四周/3/16~3/2412150一维数组与二维数组的应用
五周/3/24~3/297150字符串的储存运算都可以用一维数组来实现
六周/3/31~4/510220指针函数的定义与运用,指针,数组和地址的关系
七周/4/6~4/128250字符串和指针的运用
八周/4/13~4/198250分配动态内存
九周/4/20~4/2610200结构的运用
十一周/5/5~5/1010250递归函数的运用

转载于:https://www.cnblogs.com/caoe666/p/10846481.html

相关文章:

  • 【30-swift-projects-in-30-days】swift 5 学习 02.Watch'sDemo
  • 【phonegap】下载文件
  • DES算法总结
  • 基于C 的libvirt 接口调用
  • python基础知识~元组,range和字典
  • 【ios】UITableView中的uitablviewcell在64位下显示重叠问题
  • Python生物学 Python for Bioinformatics 2nd - 2018.pdf
  • 服务发现系统consul-health check
  • 数据类型与运算符小结(JAVA)
  • redis的复制
  • 人工智能 + 物联网 = 智慧物联网
  • extjs Date的使用
  • rocketmq-producer
  • 谈谈javascript语法里一些难点问题(一)
  • 火箭还是飞机?——DevOps 的两种模式
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Angularjs之国际化
  • AngularJS指令开发(1)——参数详解
  • Docker下部署自己的LNMP工作环境
  • ESLint简单操作
  • Facebook AccountKit 接入的坑点
  • js面向对象
  • leetcode-27. Remove Element
  • SpiderData 2019年2月13日 DApp数据排行榜
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 代理模式
  • 反思总结然后整装待发
  • 关于extract.autodesk.io的一些说明
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 前端存储 - localStorage
  • 前端代码风格自动化系列(二)之Commitlint
  • 王永庆:技术创新改变教育未来
  • 微服务入门【系列视频课程】
  • 我的面试准备过程--容器(更新中)
  • 移动端 h5开发相关内容总结(三)
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • #git 撤消对文件的更改
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (poj1.3.2)1791(构造法模拟)
  • (zhuan) 一些RL的文献(及笔记)
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (力扣)1314.矩阵区域和
  • (三)docker:Dockerfile构建容器运行jar包
  • (转)负载均衡,回话保持,cookie
  • (转)关于pipe()的详细解析
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net FrameWork总结
  • :如何用SQL脚本保存存储过程返回的结果集
  • ??myeclipse+tomcat
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...