计算机程序设计A.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 数组 本章目的 熟练掌握一维数组的定义和引用; 掌握二维数组的定义和引用; 利用数组编写程序( 求最大最小值, 平均值, 选择排序, 冒泡排序, 字符串的处理, 矩阵运算) 为什么要使用数组 只用前面所讲的基本数据类型(int , long , float , double , char ), 解决复杂的问题有困难. 例:排序问题 数组概念 有序数据的表示 测量球的直径:需要多次测量,求平均值 按学号排列的成绩表 都是由具有相同类型的若干个分量按一定顺序排列组成的 数组概念 按序排列的相同类型的数据的集合称为数组 这些数据叫数组的元素 用数组名和下标来唯一地确定数组中的元素 数组的特征:数组名、数组元素的类型和个数(数组长度) 5-1 一维数组 一维数组的定义: 数组类型名 数组名1[exp1], 数组名2[exp],…; 其中:exp、exp1为常量表达式,正整数; 如: int a[10] 含义:定义了一个一维数组a , 共有10个元素, 它们都是整型数据变量. 数组元素在内存中从下标为0的元素开始连续存放。 5-1 一维数组 一维数组的初始化 在定义数组时对数组元素赋初值,否则是不确定值 int a[5] = {1, 2, 3, 4, 5}; 可以只给部分元素赋初值,其余初值为0 int b[5] = {1, 2, 3}; 对全部数组元素赋初值时,可省略数组长度 int c[ ] = {1, 2, 3, 4, 5}; 初值的个数不能多于数组长度 5-1 一维数组 一维数组元素的引用 数组必须先定义,后引用 只能引用数组元素,不能一次引用整个数组 引用数组元素的形式: 数组名[下标表达式] 下标表达式可以是常量、变量、表达式。 下标表达式的取值范围是:0 ~ 数组长度-1 且为正整数。 5-1 一维数组 应用举例 例 1 :用数组来处理 求 Fibonacci 数列问题: Fibonacci 数列: F1 = 1 F2 = 1 Fn = Fn-1 + Fn-2 n ≥ 3 解: 用数组f[40]来存放Fibonacci数列前40项. f[0]=1, f[1]=1, f[n]=f[n-1]+f[n-2] (n1) 5-1 一维数组 应用举例 例 2 :输入一个班级学生的一门课成绩( 人数=50) , 计算平均成绩, 并统计高于平均成绩的学生人数. 解:必须用数组完成。算法框图: 5-1 一维数组 对n 个数排序问题( 以从小到大排序为例) (1) 选择法排序:找出最小的放在最前面。 5-1 一维数组 对n 个数排序问题( 以从小到大排序为例) (1) 选择法排序:找出最小的放在最前面。每一轮找出一个最小的,共n-1轮。 5-1 一维数组 对n 个数排序问题( 以从小到大排序为例) (2)冒泡法排序:将相邻两个数比较,将小的调到前头,大的调到后面。 5-1 一维数组 对n 个数排序问题( 以从小到大排序为例) (2)冒泡法排序 数据结构: 变量n: 这一组数的个数,从键盘输入. 一维数组a: 存放这n 个数(a[0],……,a[n-1]) 循环变量i表示轮次,初值=0 循环变量j表示每轮中,比较时元素的下标值。 j每轮都从0开始,以a[j] 和 a[j+1] 比较 每轮比较次数不断减1。 5-1 一维数组 对n 个数排序问题( 以从小到大排序为例) (2)冒泡法排序 5-1 一维数组 对n 个数排序问题( 以从小到大排序为例) (2)冒泡法排序:改进的冒泡排序:如果在某轮外循环中,一次交换也没有发生, 则说明已排好序, 外循环可以不再进行. 可以用一个标记变量来表示是否交换过。 5-1 一维数组 在n个数中查找某一个数。 顺序查找法:n个数一个个与被查找数比较。 折半查找法:不要求,略! 练习 读程序写结果 5-2 二维数组 C语言中,数组元素又可以是一个数组,这样就构成了多维数组。 二维数组是“ 数组的数组” ,数据有行列之分,用两个下标标识一个数组元素,适合处理矩阵。 5-2 二维数组 二维数组的定义 数组类型名 数组名[行常量表达式][列常量表达式] ; 5-2 二维数组 二维数组的使用举例 矩阵转置:将一个矩阵的行、列互换 5-2 二维数组 二维数组的使用举例 找出二维数组(M行N列)的最大值与最后一个元素交换后以行列对齐方式输出.(p115,例5.13) 5-3 字符数组 为什么要把字符数组单独

文档评论(0)

gl5000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档