- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 数组 对3个整数从小到大排序 对100个整数从小到大排序 …… 计算机处理数据时,经常出现数是某种有序的形式进行组织的情况。 共同特征: 是由若干个同一类型的分量组成; 分量按一定顺序排列,有一定对应关系。 数组:按序排列的具有相同类型的变量的集合。 1.用数组名来表示这一数组。 2.用数组名后跟下标来唯一的确定数组中的某一元素。 §7.1 一维数组的定义和引用 一、定义数组 类型说明符 数组名[常量表达式] int a[5]; (定义了一个有5个整型分量的数组) 作用:分配内存 说明: 1. 数组命名规则按照标识符规则。 2. 数组名后只能是[ ]括起来的常量表达式、常量或符号常量。 a[10] a(10) a[n] a[4*M+1] 3.常量表达式的值确定数组元素的个数。 4. 一维数组用连续的内存单元存放各个元素。 例:int a[5]; 二、一维数组的引用 C语言规定:数组必须先定义后引用,并只能逐个引用数组元素,而不能一次引用整个数组。 引用格式:数组名[下标](第几个元素) a[2]=10; (数组中元素的下标从0开始, a[0] a[1] … a[4],不会有a[5]。最大下标值为数组元素个数减1) 例:将数组元素逆序输出 main( ) { int i,a[10]; for(i=0;i=9;i++) a[i]=i; for(i=9;i=0;i--) printf(“%d”,a[i]); pritnf(“\n”); } 三、初始化 1. 在定义数组时对数组元素赋以初值 int a[4]={8,5,13,56} 2. 部分赋初值 int a[4]={8,5} 3. 不指定数组长度(数组元素全部赋初值) int a[ ]={8,5,13,56} 注意:若不是数组元素全部赋初值,则数组长度不能忽略 用数组来处理Fib数列的前20项。 例:输入10个数,用“起泡法”对10个数排序(由小到大)。 “起泡法”算法:以六个数9、8、5、4、2、0为例。 第1趟比较 第2趟比较 第1趟比较后,剩5个数未排好序;两两比较5次 第2趟比较后,剩4个数未排好序;两两比较4次 第3趟比较后,剩3个数未排好序;两两比较3次 第4趟比较后,剩2个数未排好序;两两比较2次 第5趟比较后,全部排好序;两两比较1次 算法结论: 1. 对于n个数的排序,需进行n-1趟比较,第j趟比较需进行n-j次两两比较。 2. 用两层嵌套循环控制排序过程 外循环j控制比较趟数(n-1趟) 内循环i控制一趟比较的次数(n-j趟) 程序:设需排序的数有10个,定义数组a[11] 使用a[1]~a[10]存放10个数,a[0]不用。 main( ) {?int a[11]; /* 用a[1]~a[10], a[0]不用 */ ?int i,j,t; /* i,j作循环变量,t作两两比较的临时变量 */? ? for(i=1;i11;i++)?? ? scanf(“%d”,a[i]); /* 输入10个整数*/? printf(\n);? for(j=1;j=9;j++) /* 第j趟比较 */?? ?for(i=1;i=10-j; i++) /* 第j趟中两两比较10-j次 */???? if (a[i] a[i+1]) ???? ? ?{ t = a[i]; a[i] = a[i+1]; a[i+1] = t; }? /* 交换大小 */ ? for(i=1;i11;i++)? ?? printf(%d,a[i]); }? §7.2 二维数组的定义和引用 一、定义 类型说明符 数组名[常量表达式][常量表达式] float a[3][4]; a为3×4(3行4列)的数组 float b[5][10]; b为5×10(5行10列)的数组 二维数组的理解: 二维数组a[3][4]理解为: 有三个元素a[0]、a[1]、a[2],每一个元素是一个包含4个元素的数组。 二维数组的元素在内存中的存放循序: 按行存放,即:先顺序存放第一行的元素,再存放第二行的元素。(最右边的第
文档评论(0)