- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言言程序序设计项目教教程
项目三共分为两个任务
项目三 算法——程序设计的灵魂
任务一 了解什么是算法
任务二 掌握算法的表示方法
项目拓展 算法的复杂度
任务一 了解什么是算法
任务说明任务说明
在本任务中我们将了解算法的概念和特性。
预备知识
一、什么是算法
二、算法的特性
为解决一个问题而采取的方法和步骤就称为算法。计算机能够
执行的算法可分为两大类:
数值运算算法 主要用于求解数值主要用于求解数值,如求复杂算式的值如求复杂算式的值、求方求方
程的根等;
非数值运算算法 主要用于事务管理领域主要用于事务管理领域,如图书检索如图书检索、公交汽公交汽
车车辆调度等。
二、算法的特性
((11))有穷性有穷性
(2)确定性
(3)有效性
(4)存在零个或多个输入
(5)存在若干输出结果
任务实施——汉诺塔问题
汉诺塔汉诺塔 ((TowersTowers ofof HanoiHanoi, 下图为模拟汉诺下图为模拟汉诺
Hanoi为越南首都河内)也称河内之塔。 塔问题的模型玩具
它源于印度源于印度一个古个古老传说传说:大梵天创大梵天创
造世界的时候做了三根金刚石柱子,
在其中一根柱子上从下往上按照大小
顺序摞着64片黄金圆盘。大梵天命令
婆罗门把圆盘从下面开始按大小顺序
重新摆放在另重新摆放在另一根柱子上根柱子上。并且规定并且规定,
在小圆盘上不能放大圆盘,在三根柱
子之间一次只能移动一个圆盘。当盘
子全数搬运完毕之时,也就是世界末
日来临之时。
在本任务中我们就来编写算法解决汉诺塔问题,这里将柱子标为A、
B、、C,,要由要由A搬至搬至C,,假设假设A柱上的盘数为柱上的盘数为n,,n由用户输入由用户输入。
任务分析任务分析
汉诺塔问题是典型的递归调用问题。当n=1时,直接将盘子从A移
动到动到CC即可即可。将将nn ((nn>>11))个盘子从个盘子从AA柱移动到柱移动到CC柱可以分为三个步骤柱可以分为三个步骤:
① 将n-1个盘子从A借助C移到B;
② 将最后一个盘子从A移到C;
③ 将n-1个盘子从B借助A移到C。
实施步骤
步骤步骤11 启动启动VisualVisual C++C++ 6.06.0,,新建一个新建一个C++C++源程序源程序,,在编辑区中输入在编辑区中输入
以下代码:
#include#include stdiostdio.hh
void hanoi(int n, char A, char B, char C)
{ if(n == 1)
{ printf(Move sheet %d from %c to %c\n, n, A, C); }
else
{{ hanoihanoi(n(n-1,1, A,A, C,C, B);B);
printf(Move sheet %d from %c to %c\n, n, A, C);
hanoi(n-1, B, A, C); }
}}
iint maiin()()
{
int n;;
printf(请输入盘数:);
scanf(%d, n);
hanoihanoi(n(n, AA, BB, CC););
return 0;
}
步骤2 编译、连接后执行程序,执行结果如下图所示。
(a)n=2时移动方法
(b)n=4时
您可能关注的文档
- 上市公司业绩的分类与评价.pdf
- 中国银行 BOC 2014 PREF定期报告.pdf
- 汽车流通企业(4S店)税企涉税争议疑难问题处理与风险规避.pdf
- 银行承兑汇票资料培训.pdf
- 第十二章 焊接.pdf
- 银行公文写作技巧培训.pdf
- 行政工作统筹管理实际操作培训.pdf
- 第六讲 工作世界探索.pdf
- 关于联合国工作的报告.pdf
- 银行卡受理风险防范及帐务处理.pdf
- 2025年部编版六年级下册语文第五单元语文园地.pptx
- 2025年冀教版八年级下册英语Unit 2Lesson 12 Danny’s Plant.pptx
- 2025年中考历史模拟检测试卷及答案 (3).docx
- 2025年人教pep版六年级下册英语Unit 1单元重难点提优专训 (2) 特殊疑问句.pptx
- 2025年中考历史总复习第一篇考点系统复习世界古代史第四单元封建时代的亚洲国家.pptx
- 2025年小升初英语专项培优训练——情景交际.pptx
- 2025年华师版八年级下册数学期末复习第18章平行四边形.pptx
- 2025年冀教版八年级下册英语Unit 1Lesson 4 The Spring City.pptx
- 2025年中考历史总复习第一篇考点系统复习世界现代史第二单元经济大危机和第二次世界大战.pptx
- 2025年中考历史总复习第一篇考点系统复习中国近代史第七单元人民解放战争.pptx
文档评论(0)