第五章__数组

第五章__数组

ID:40238138

大小:104.51 KB

页数:34页

时间:2019-07-28

第五章__数组_第1页
第五章__数组_第2页
第五章__数组_第3页
第五章__数组_第4页
第五章__数组_第5页
资源描述:

《第五章__数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第五章数组一维数组定义与引用二维数组定义与引用字符数组数组的概念:同一类型的多个数据的有序集合,数组中的每个成员称为数组元素。注意几点:同一数组中的所有元素类型相同数组具有有序性5.1一维数组的定义与引用5.1.1一维数组的定义:(1)定义数组,就是要:规定数组的名字(即数组名),由用户自己定义,命名规则和变量的一样。规定数组元素的类型。规定数组的大小,即数组中包含的元素个数。(2)定义形式:类型说明符数组名[常量表达式];例如:inta[10];floatb[5];doublec[2*3];5.1.2一维数组元素的引用:一维数组中的每一个数组元素的使用类似于变量的使用,可

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个整数,放在一个数组中存放,并按输入的

3、逆序输出。main(){inta[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)对数组的所有元素赋初值:例如:inta[6]={1,2,3,4,5,6};(2)对数组的部分元素赋初值:例如:intb[6]={1,2,3};(3)对数组全部元素赋初值时,可以不指定数组长度。例如:inta[]={1,2,3,4,5};等同于inta[5]={1,2,3,

4、4,5};5.1.4一维数组程序举例P87~88例题5.3,5.4任意从键盘输入10个整数,分别用冒泡法和选择法对其进行小到大的排序。冒泡排序法的思想:将相邻两个数进行比较,将小的调到前头。以原数列12,8,6,5,4,3,7,9,2,1为例,详细说明冒泡排序的实现过程。main(){inta[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<=1

5、0;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)求

6、出a[9]~a[10]的最小值,将它与a[9]进行比较,若所求最小值不等于a[9],将a[9]与之进行互换,使得a[9]中存放的是倒数第二小的值;此时a[10]中就为最小值,排序成功!由此可见,排序过程中共进行9大轮比较。main(){inta[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]进行比较*/min=a[i];k=i;/*k中记录a[i]~a[10]中的最小值的位置*/for(j=i+1;j<=10;j++)if(min>

7、a[j]){min=a[j];k=j;}if(min!=a[i]){t=a[i];a[i]=a[k];a[k]=t;}}for(i=1;i<=10;i++)printf(“%d”,a[i]);}5.2二维数组的定义与引用5.2.1二维数组的定义类型说明符数组名[常量表达式1][常量表达式2];例如:inta[5][4];其中,常量表达式1代表行数,常量表达式2代表列数。说明:二维数组的逻辑存储和物理存储。5.2.2二维数组元素的引用二维数组中的每一个元素的使用也类似同变量的使用,可以对其进行输入,输出,关系、算术等

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。