- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 数组 一维数组定义与引用 二维数组定义与引用 字符数组 数组的概念: 同一类型的多个数据的有序集合,数组中的每个成员称为数组元素。 注意几点: 同一数组中的所有元素类型相同 数组具有有序性 5.1 一维数组的定义与引用 5.1.1 一维数组的定义: (1)定义数组,就是要: 规定数组的名字(即数组名),由用户自己定义,命名规则和变量的一样。 规定数组元素的类型。 规定数组的大小,即数组中包含的元素个数。 (2)定义形式: 类型说明符 数组名[常量表达式]; 例如: int a[10]; float b[5]; double c[2*3]; 5.1.2 一维数组元素的引用: 一维数组中的每一个数组元素的使用类似于变量的使用,可以往里面输入值,可以输出该元素的值,可以进行算术、关系等运算,只是一维数组元素的表示方式(引用方式)有点特别,具体引用形式为:数组名[下标] 注意此处的下标与数组定义时的数组长度的区别: 数组定义的长度只能是常量表达式,不能出现变量;但下标既可以是常量,也可以是变量。 若定义数组a时,长度指定为10,则数组中有10个元素,引用形式分别为:a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]和a[9],即下标取值范围为0到9. 数组在使用时,只能逐个元素地引用,而不能一次性引用整个数组。 例如: 从键盘任意输入10个整数,放在一个数组中存放,并按输入的逆序输出。 main( ) { int a[10] ,n ; for (n=0;n=9;n++) scanf(“%d”, a[n]); for (n=9; n=0; n--) printf(“%d ”,a[n]); } 5.1.3 一维数组的初始化 也可以在定义数组的时候给数组元素赋值,称为数组的初始化。 一维数组的初始化有以下几种方法: (1)对数组的所有元素赋初值: 例如:int a[6]={1,2,3,4,5,6}; (2)对数组的部分元素赋初值: 例如: int b[6]={1,2,3}; (3)对数组全部元素赋初值时,可以不指定数组长度。 例如: int a[]={1,2,3,4,5}; 等同于 int a[5]={1,2,3,4,5}; 5.1.4 一维数组程序举例 P87~88 例题5.3,5.4 任意从键盘输入10个整数,分别用冒泡法和选择法对其进行小到大的排序。 冒泡排序法的思想:将相邻两个数进行比较,将小的调到前头。 以原数列12,8,6,5,4,3,7,9,2,1为例,详细说明冒泡排序的实现过程。 main( ) { int a[11], i, j, k, t; for ( i=1; i=10;i++) scanf(“%d”, a[i]); for (j=1;j=9;j++) for (k=1;k=10-j;k++) if ( a[k]a[k+1]) { t=a[k];a[k]=a[k+1];a[k+1]=t;} for (i=1; i=10;i++) printf(“%d ”,a[i]); } 选择排序法思想:设有10个元素a[1]~a[10](1)求出a[1]~a[10]的最小值,将它与a[1]进行比较,若所求最小值不等于a[1],将a[1]与之进行互换,使得a[1]中存放的是待排序的10个数的最小值;(2)求出a[2]~a[10]的最小值,将它与a[2]进行比较,若所求最小值不等于a[2],将a[2]与之进行互换,使得a[2]中存放的是次小值;(3)求出a[3]~a[10]的最小值,将它与a[3]进行比较,若所求最小值不等于a[3],将a[2]与之进行互换,使得a[3]中存放的是第三小的值; …… (9)求出a[9]~a[10]的最小值,将它与a[9]进行比较,若所求最小值不等于a[9],将a[9]与之进行互换,使得a[9]中存放的是倒数第二小的值;此时a[10]中就为最小值,排序成功! 由此可见,排序过程中共进行9大轮比较。 main( ) { int a[11], i, j, k, min,t; for (i=1; i=10;i++) scanf(“%d”,a[i]); for (i=1;i=9;i++) { /*求出a[i]~a[10]中的最小值,与a[i]进行比较*/ mi
您可能关注的文档
- 电大中级财务会计二考试题及答案10.7.pdf
- 电大本科财务报表分析.doc
- 电大《财务案例研究》课程形成性考核.doc
- 电测指示仪表单体调试报告.doc
- 第一章+建筑材料的基本性质.ppt
- 第一章+概论.doc
- 第一章_国防及其基本要素.ppt
- 第一章_C语言概述.ppt
- 第一章 国际证券投资.ppt
- 第一章 包装工程概论.doc
- 2025年天津市冷链物流基地配套道路建设可行性研究报告.docx
- 2025年天津市母婴护理会所专业化服务升级路径可行性研究报告.docx
- 2025年成都市私立医院医美抗衰中心创建可行性研究报告.docx
- 2025年成都市淡化海水在城市道路清洗领域的应用可行性研究报告.docx
- 2025年上海市环卫厨余垃圾生物处理技术应用可行性研究报告.docx
- 2025年天津市花西子针对户外运动妆容的可行性.docx
- 2025年上海市生物发电于秸秆炭化还田协同发电的可行性研究.docx
- 2025年天津市物造纸在可降解农用地膜领域的应用可行性研究报告.docx
- 2025年天津市无人值守充电站智能运维可行性研究报告.docx
- 2025年天津市竹荪种植连作障碍防治技术可行性研究报告.docx
文档评论(0)