算法竞赛-入门经典-作者刘汝佳

算法竞赛-入门经典-作者刘汝佳

ID:42616616

大小:670.50 KB

页数:68页

时间:2019-09-18

算法竞赛-入门经典-作者刘汝佳_第1页
算法竞赛-入门经典-作者刘汝佳_第2页
算法竞赛-入门经典-作者刘汝佳_第3页
算法竞赛-入门经典-作者刘汝佳_第4页
算法竞赛-入门经典-作者刘汝佳_第5页
资源描述:

《算法竞赛-入门经典-作者刘汝佳》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、算法竞赛入门经典算法竞赛入门经典目录目录110第1章程序设计入门1121.1算术表达式1121.2变量及其输入1141.3顺序结构程序设计1171.4分支结构程序设计1201.5小结与习题1231.5.1数据类型实验1231.5.2scanf输入格式实验1231.5.3printf语句输出实验1231.5.4测测你的实践能力1231.5.5小结1241.5.6上机练习124第2章循环结构程序设计1102.1for循环1102.2循环结构程序设计1132.3文件操作1162.4小结与习题1192.4.1输出技巧1192.4.2浮点数陷阱1202.4.

2、364位整数1202.4.4C++中的输入输出1202.4.5小结1212.4.6上机练习122第4章函数和递归1104.1数学函数1104.1.1简单函数的编写1104.1.2使用结构体的函数1114.1.3应用举例1114.2地址和指针1144.2.1变量交换1144.2.2调用栈1154.2.3用指针实现变量交换1174.2.4初学者易犯的错误1184.3递归1194.3.1递归定义1194.3.2递归函数120算法竞赛入门经典4.3.3C语言对递归的支持1204.3.4段错误与栈溢出1224.4本章小结1234.4.1小问题集锦1234.4

3、.2小结124第6章数据结构基础16.1栈和队列16.1.1卡片游戏16.1.2铁轨26.2链表46.2.1初步分析46.2.2链式结构66.2.3对比测试76.2.4随机数发生器86.3二叉树96.3.1小球下落96.3.2层次遍历106.3.3二叉树重建146.4图156.4.2走迷宫166.4.3拓扑排序186.4.4欧拉回路186.5训练参考19第8章高效算法设计18.1算法分析初步18.1.1渐进时间复杂度18.1.2上界分析2算法竞赛入门经典第1部分语言篇第1章程序设计入门学习目标þ熟悉C语言程序的编译和运行þ学会编程计算并输出常见的算

4、术表达式的结果þ掌握整数和浮点数的含义和输出方法þ掌握数学函数的使用方法þ初步了解变量的含义þ掌握整数和浮点数变量的声明方法þ掌握整数和浮点数变量的读入方法þ掌握变量交换的三变量法þ理解算法竞赛中的程序三步曲:输入、计算、输出þ记住算法竞赛的目标及其对程序的要求计算机速度快,很适合做计算和逻辑判断工作。本章首先介绍顺序结构程序设计,其基本思路是:把需要计算机完成的工作分成若干个步骤,然后依次让计算机执行。注意这里的“依次”二字——步骤之间是有先后顺序的。这部分的重点在于计算。接下来介绍分支结构程序设计,用到了逻辑判断,根据不同情况执行不同语句。本章

5、内容不复杂,但是不容忽视。注意:编程不是看会的,也不是听会的,而是练会的,所以应尽量在计算机旁阅读本书,以便把书中的程序输入到计算机中进行调试,顺便再做做上机练习。千万不要图快——如果没有足够的时间用来实践,那么学得快,忘得也快。1.1算术表达式计算机的“本职”工作是计算,因此下面先从算术运算入手,看看如何用计算机进行复杂的计算。程序1-1计算并输出1+2的值#includeintmain(){printf("%d",1+2);return0;}这是一段简单的程序,用于计算1+2的值,并把结果输出到屏幕。如果你不知道如何编译并

6、运行这段程序,可阅读附录或向指导教师求助。即使你不明白上述程序除了“1+2”之外的其他内容,仍然可以进行以下探索:试着把算法竞赛入门经典“1+2”改成其他东西,而不要去修改那些并不明白的代码——它们看上去工作情况良好。下面让我们做4个实验:实验1:修改程序1-1,输出3-4的结果实验2:修改程序1-1,输出5×6的结果实验3:修改程序1-1,输出8÷4的结果实验4:修改程序1-1,输出8÷5的结果直接把“1+2”替换成“3+4”即可顺利解决实验1,但读者很快就会发现:无法在键盘上找到乘号和除号。解决方法是:用星号“*”代替乘号,而用正斜线“/”代替

7、除号。这样,4个实验都顺利完成了。等一下!实验4的输出结果居然是1,而不是正确答案1.6。这是怎么回事?计算机出问题了吗?计算机没有出问题,问题出在程序上:这段程序的实际含义并非和我们所想的一致。在C语言中,8/5的确切含义是8除以5所得商值的整数部分。同样地,(-8)/5的值是-1,不信可以自己试试。那么如果非要得到8÷5=1.6的结果怎么办?下面是完整的程序。程序1-2计算并输出8/5的值,保留小数点后1位#includeintmain(){printf("%.1lf",8.0/5.0);return0;}注意,百分号后面

8、是个小数点,然后是数字1,再然后是小写字母l,最后是小写字母f,千万不能打错,包括大小写——在C语言中,大写和小写字母代表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。