C语言程序设计教程第五章数组 联系客服

发布时间 : 星期三 文章C语言程序设计教程第五章数组更新完毕开始阅读b9a13b5b6d175f0e7cd184254b35eefdc8d31527

C语言程序设计教程 高等教育出版社第二版 第五章 数组

算法过程:

第1趟比较后,剩5个数未排好序;两两比较5次 第2趟比较后,剩4个数未排好序;两两比较4次 第3趟比较后,剩3个数未排好序;两两比较3次 第4趟比较后,剩2个数未排好序;两两比较2次 第5趟比较后,全部排好序;两两比较1次

算法结论:对于n个数的排序,需进行n-1趟比较,第j趟比较需进行n-j次两两比较。 程序流程图:(用两层嵌套循环实现)

第 9 页 共 30 页

C语言程序设计教程 高等教育出版社第二版 第五章 数组

程序:设需排序的数有10个,定义数组大小为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作两两比较的临时变量 */ printf(\for(i=1;i<11;i++)

scanf(\/* 输入10个整数 */ printf(\

for(j=1;j<=9;j++) /* 第j趟比较 */

for(i=1;i<=10-j; i++) /* 第j趟中两两比较10-j次 */ if (a[i] > a[i+1]) /*交换大小*/

第 10 页 共 30 页

C语言程序设计教程 高等教育出版社第二版 第五章 数组

{ t = a[i]; a[i] = a[i+1]; a[i+1] =

t; }

printf(\for(i=1;i<11;i++) printf(\}

§5.2 二维数组和多维数组

5.2.1二维数组和多维数组的概念及其定义 如果一维数组的每一个元素是类型相同的一维数组时,就形成了二维数组。

二维数组是有二个下标变量的数组。第一个下标称为行下标,第二个下标称为列下标,因此,二维数组可看成是一个二维表。

二维数组的一般定义形式为:

类型标识符 数组名[常量表达式1][常量表达式2] 二维数组的理解: 【例】:a[3][4]

第 11 页 共 30 页

C语言程序设计教程 高等教育出版社第二版 第五章 数组

二维数组a[3][4]理解为:有三个元素

a[0]、a[1]、a[2],每一个元素是一个包含4个元素的数组。

二维数组的元素在内存中的存放循序: 【例】:a[3][4]

按行存放。即:先顺序存放第一行的元素,再存放第二行的元素。

二维数组的元素a[i][j]在数组中的位置计算公式:

设有一个m×n的二维数组,元素a[i][j]在数组中的位置计算公式为: i×n+j+1 多维数组是有多个下标变量的数组。 多维数组的一般定义形式为:

类型标识符 数组名[常量表达式1][常量表达式2]…[常量表达式n] 第 12 页 共 30 页