C语言程序设计实训报告.pdfVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

青岛大学软件技术学院

C语言程序设计实训报告

姓名

专业

班级

指导教师

2011年7月14日

目录

一.实训目的和要求

1.实训目的

2.实训要求

二.试训任务内容

1.问题定义

2.问题分析

三.总体设计

1.设计思想

2.实现方法

3.主要模块

4.模块关系

5.详细设计

四.软件使用说明

五.实训心得与体会

参考文献

附录代码

I

一.实训目的和要求

1.实训目的

本实训是软件技术专业重要的实践性环节之一,是在学生学习完《C语言程序设计》课程

后进行的一次全面的综合练习。本实训的目的和任务:

1.巩固和加深学生对C语言课程的基本知识的理解和掌握

2.掌握C语言编程和程序调试的基本技能

3.利用C语言进行基本的软件设计

4.掌握书写程序设计说明文档的能力

5.提高运用C语言解决实际问题的能力

2.实训要求

1.分析实训题目的要求

2.写出详细设计说明

3.编写程序代码,调试程序使其能正确运行

4.设计完成的软件要便于操作和使用

5.设计完成后提交实训报告

二.试训任务内容

1.问题定义

汉诺塔问题(TowersofHanoi)

1

2.问题分析

假设有三根木桩A、B和C。在木桩A上放置了N个圆盘,由上到下编号为1,2,,…,N,

编号越大的圆盘直径越大。而我们必须将圆盘由木桩A通过木桩B全部搬到木桩C。在移

动过程中,必须按照下述移动规则:

1.直径较小的圆盘永远置于直径较大的圆盘上;

2.圆盘可任意地由任何一个木桩移到其他的木桩上;

3.每一次仅能移动一个圆盘。

三.总体设计

1.设计思想

如果盘子为1,则将这个盘子从塔座A移动到塔座C;

如果不为1,则采用递归思想。

将塔座A的前n-1个盘子借助C盘(即目的盘)移到塔座B,移后,此时C为空座,那我

们就可以将塔座A的第n个盘子移到塔座C了。接下来就将塔座B的n-1个盘子借助A移

到塔座C,从而完成盘子的移动。

2.实现方法

通过函数的递归调用来实现。如图例

图3是当N=3时的递归调用树状图,可以使我们更清楚的了解递归的调用过程。

Hanoi(1,A,B,C)disk1:A→C

Hanoi(2,A,C,B)Print“disk2:A→B”disk2:A→B

Hanoi(1,C,A,B)disk1:C→B

Hanoi(3,A,B,C)Print“disk3:A→C”disk3:A→C

Hanoi(1,B,C,A)disk1:B→A

Hanoi(2,B,A,C)Print“disk2:B→C”disk2:B→C

Hanoi(1,A,B,C)disk1:A→C

图3

3.主要模块

Main函数实现函数的调用,move函数实现输出,hanoi函数调用move函数实现移动和

最终输出。

功能模块主要有以下几个:

输入界面(由用户输入演示盘子的个数)

文档评论(0)

186****1391 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档