- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章数 组 Programming inC Language 教学重点 数组的定义、存储及使用 数组的应用 矩阵操作、字符串操作 常用算法: 查找、排序、插入、删除 6.1 一维数组 ① 例:编写程序,从键盘输入100个整数,要求按输入的逆序输出这100个数。 6.1 一维数组 ② 数组定义用同一名字、不同下标组织起来的一组同类型的有序变量的集合。 构成数组的每个变量类型相同; 构成数组的每个变量下标有序、存储有序; 构成数组的每个变量,称“数组元素”或“下标变量” 6.1 一维数组 ③ 一维数组的定义 数据类型 数组名[数组大小]; 数组名必须是C语言的合法标识符; 数组大小必须是正整型常量表达式; 数组的下标从0开始; [ ]是下标运算符,优先级为1级; 数组有若干数组元素组成,数组元素的表示方法:数组名[下标表达式] 使用数组元素时,注意下标不要越界! 6.1 一维数组 ④ 一维数组的存储结构 按数组下标顺序存放;数组名代表数组在内存中存放的起始地址,即数组名是一个地址常量。 6.1 一维数组 ④ 一维数组的存储结构 按数组下标顺序存放;数组名代表数组在内存中存放的起始地址,即数组名是一个地址常量。 6.1 一维数组 ⑤ 数组的初始化 在定义数组的同时给数组元素赋值 几种初始化的方式 定义数组时初始化 定义数组时,部分数组元素初始化(剩余的数组元素自动赋0值) 对全部数组元素初始化时,可不指定数组长度 一维数组举例 ① 例1:输入100个整数,要求按输入的逆序每行10个输出这100个数。 一维数组举例 ② 阅读程序,写运行结果 # include stdio.h void main( ) { int a[7]={11,13,14,15,16,17,18} ;int i=0, k=0 ;while ( i7 a[i]%2 ){ k+=a[i] ; i++ ;}printf (k=%d\n, k ) ; } 一维数组应用—查找算法 一维数组举例—顺序查找① 一维数组举例—顺序查找① 一维数组举例—顺序查找② 一维数组应用—插入算法 插入算法 在有序的数据表上,插入一个数key以后,要求插入后数据表仍保持原序不变。 由于插入算法完成后,数据表的表长要增加1,因此在定义数组大小时要多定义一个数组元素。 一维数组举例—插入算法 例7.从键盘输入已按升序排好的10个整数,再输入整数key;将key插入到10个数中,要求这些数保持原来的升序不变。 一维数组举例—插入算法 插入算法: (1)一边比较一边移动(从后往前进行的) (2)为防止数组下标越界,需判断下标是否小于零 一维数组应用—删除算法 在数据表上删除key 一维数组举例—删除算法 在数据表上删除key 本章作业(一) 写在书上:P.159三、 1, 2 写在作业上:编写程序教材 P.166 五、2. 提示:先找到最小值对应的下标k,即最小值为a[k],然后交换:a[0] ?a[k]。 定义并输入一整型数组a(长度为6),要求将数组中各元素倒置后输出。注意:不是逆向打印。 例:int a[6]={1,2,3,4,5,6};倒置后,a[0]为6,a[5]为1。 提示:将数组元素首尾交换,即a[0]?a[5]、a[1] ?a[4]、a[2] ?a[3] 一维数组应用—选择法排序的引入 例2:输入6个整数,要求找出最小值,并指明该最小值的位置(下标)。 一维数组举例—选择法排序 例3:输入6个整数,要求按升序输出这6个数。 一维数组应用—冒泡排序的引入 例3:输入6个整数,采用“两两比较,大者向前”的方法,找出最大值。 一维数组举例—冒泡排序 例4:输入6个整数,要求按升序输出这6个数。 一维数组举例—冒泡排序 例4:输入10个整数,要求按升序输出这10个数。 一维数组应用编程举例 输入100个整数存放在数组a中,分别统计其中正数、零、负数的个数并输出。 输入100个整数存放在数组a中,计算这100个数的平均值,然后统计并输出大于平均值的元素的个数及他们的和。 本章作业(二) 写在作业上:编写程序输入10个整数,对其中前5个数按降序排序,然后输出这10个整数。要求采用选择法排序。 输入10个整数,对其中前5个数按降序排序,然后输出这10个整数。要求采用冒泡法排序。 实验六 数组(1) 调试程序教材 P.166 五、2. 定义并输入一整型数组a(长度为6),要求将数组中的数据倒置后输出。例如:int a[6]={1,2,3,4,5,6}; 倒置后,a[0]至a[5]为6,5,4,3,2,1。 提示:a[0]?a[5]
原创力文档


文档评论(0)