数组--二维数组.ppt
《数组--二维数组.ppt》由会员分享,可在线阅读,更多相关《数组--二维数组.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计语言程序设计授课教师:李群授课教师:李群个人邮箱:个人邮箱:学习邮箱:学习邮箱:c_ 密码:密码:cisfun数组一维数组的应用、二维数组一维数组的应用、二维数组复习复习l l一维数组的定义形式一维数组的定义形式类型说明符类型说明符 数组名数组名 常量表达式常量表达式;例如:例如:例如:例如:intintintint num10;num10;num10;num10;/*/*/*/*由由由由10101010个整数组成的数组个整数组成的数组个整数组成的数组个整数组成的数组num*/num*/num*/num*/double a100;double a100;double a100;d
2、ouble a100;/*/*/*/*由由由由100100100100个浮点数组成的数组个浮点数组成的数组个浮点数组成的数组个浮点数组成的数组a*/a*/a*/a*/l一维数组中的元素由一个下标表示一维数组中的元素由一个下标表示例例 用简单选择法对用简单选择法对10个数排序个数排序排序过程:排序过程:(1)首先通过)首先通过n-1次比较,从次比较,从n个数中找出最小的,个数中找出最小的,将它与第一个数交换将它与第一个数交换第一趟选择排序,结果第一趟选择排序,结果最最小小的数被安置在的数被安置在第一个第一个元素位置上元素位置上(2)再通过)再通过n-2次比较,从剩余的次比较,从剩余的n-1个数中
3、找出关键个数中找出关键字字次小次小的记录,将它与的记录,将它与第二个数第二个数交换交换第二趟选第二趟选择排序择排序(3)重复上述过程,共经过)重复上述过程,共经过n-1趟趟排序后,排序结束排序后,排序结束例例初始:初始:49 38 65 97 76 13 27 kji=11349一趟:一趟:13 38 65 97 76 49 27 i=22738二趟:二趟:13 27 65 97 76 49 38 三趟:三趟:13 27 38 97 76 49 65 四趟:四趟:13 27 38 49 76 97 65 五趟:五趟:13 27 38 49 65 97 76 六趟:六趟:13 27 38 49
4、65 76 97 k kk kk kk kjjjjjjjjjj#define N 10main()int aN,i,j,k,x;printf(Input 10 numbers:n);for(i=0;iN;i+)scanf(%d,&ai);for(i=0;iN-1;i+)k=i;for(j=i+1;jN;j+)if(aj ak)k=j;if(i!=k)x=ai;ai=ak;ak=x;printf(The sorted numbers:n);for(i=0;ia1),则交换;然后比较第二个数与第三个则交换;然后比较第二个数与第三个数;依次类推,直至第数;依次类推,直至第n-1个数和第个数和第n个数
5、比较为止个数比较为止第一趟冒泡排序第一趟冒泡排序,结果,结果最大最大的数被安置在的数被安置在最后最后一个元素一个元素位置上位置上(2)对前)对前n-1个数进行第二趟冒泡排序,结果使个数进行第二趟冒泡排序,结果使次次大大的数被安置在的数被安置在第第n-1个元个元素位置素位置(3)重复上述过程,共经过)重复上述过程,共经过n-1趟趟冒泡排序后,排冒泡排序后,排序结束序结束38 49 65 76 13 27 30 97第第一一趟趟38 49 65 13 27 30 76第第二二趟趟38 49 13 27 30 65第第三三趟趟38 13 27 30 49第第四四趟趟13 27 30 38第第五五趟趟
6、13 27 30第第六六趟趟49 38 65 97 76 13 27 30n=813767676273013652765306513134949304927382738303831 27第第七七趟趟n n数组元素以数组元素以数组元素以数组元素以a0,a1,.,a7a0,a1,.,a7表示表示表示表示冒泡排序流程图冒泡排序流程图i 1i=7?开始开始结束结束Yi i+1N进行第进行第i趟冒泡排序趟冒泡排序j 1jaj+1则交换则交换j j+1NY冒泡排序冒泡排序 int i,j,t,a8=43,18,9,13,55,7,43,20;for(i=0;i 7;i+)for(j=0;j aj+1)te
7、=aj;aj=aj+1;aj+1=t;/*end if*/*end for i*/#define N 10main()int aN,i,j,t;printf(Input 10 numbers:n);for(i=0;iN;i+)scanf(%d,&ai);for(i=0;iN-1;i+)for(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;printf(The sorted numbers:n);for(i=0;iN;i+)printf(%d,ai);问题问题n输入十个学生的输入十个学生的C语言考试成绩,求平语言考试成绩,求平均分,最高分,最低分,并按成绩高低均分,最高分,最低分,
8、并按成绩高低排序。排序。n输入十个学生输入十个学生3门课程(高数、门课程(高数、C语言、语言、通信导论)的成绩,求每个学生的平均通信导论)的成绩,求每个学生的平均分,每门课程的平均分,并按成绩高低分,每门课程的平均分,并按成绩高低排序。排序。二维数组二维数组二维数组l二维数组的定义形式二维数组的定义形式类型说明符类型说明符 数组名数组名 常量表达式常量表达式11常量表达式常量表达式22;例如:例如:int num34;/*/*由由1212个整数组成的数组个整数组成的数组num*/num*/double a50100;/*/*由由50005000个浮点数组成的数组个浮点数组成的数组a*/a*/l
9、可将二维数组看成是一个由可将二维数组看成是一个由m m行行n n列构成的列构成的矩阵矩阵int num34;/*/*三行四列:三行四列:3 34 4个元素个元素*/double a50100;/*50/*50行行100100列:列:5050100100个元素个元素*/二维数组中的元素二维数组中的元素l二维数组中的元素通过一对下标二维数组中的元素通过一对下标(行下标、行下标、列下标列下标)标识标识例如例如 int num34;/*/*三行四列:三行四列:3 34 4个元素个元素*/num00,num01,num02,num03num10,num11,num12,num13num20,num21,
10、num22,num23二维数组元素的存储二维数组元素的存储l二维数组中的元素通过一对下标二维数组中的元素通过一对下标(行下标、行下标、列下标列下标)标识标识例如例如intint num34;/*num34;/*三行四列:三行四列:3 34 4个元素个元素*/num00,num01,num02,num03num00,num01,num02,num03num10,num11,num12,num13num10,num11,num12,num13num20,num21,num22,num23num20,num21,num22,num23l二维数组中的元素可以按行方式存储,也二维数组中的元素可以按行方式
11、存储,也可以按列方式存储可以按列方式存储按行存储按行存储lm m行行n n列的元素存储顺序列的元素存储顺序为:第为:第0 0行、第行、第1 1行、行、.、第、第m-1m-1行行例如例如intint a34;a34;a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a231 2 3 45 6 7 89 10 11 12a21a13a20a11a12a10a02a03a00a0112345678910a23a221112按列存储按列存储lm m行行n n列的元素存储顺序列的元素存储顺序为:第为:第0 0列、第列、第1 1列、列、.、第、第n-1n-1行行例如例如i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 二维
限制150内