数组 构造数据类型之一数组有序数据的集合,用数组名标识元素属同一数据类型,用数组名和下标确定一维数组一维数组的定义定义方式: 数据类型数组名[常量表达式];.PPT
《数组 构造数据类型之一数组有序数据的集合,用数组名标识元素属同一数据类型,用数组名和下标确定一维数组一维数组的定义定义方式: 数据类型数组名[常量表达式];.PPT》由会员分享,可在线阅读,更多相关《数组 构造数据类型之一数组有序数据的集合,用数组名标识元素属同一数据类型,用数组名和下标确定一维数组一维数组的定义定义方式: 数据类型数组名[常量表达式];.PPT(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数组 构造数据类型之一数组有序数据的集合,用数组名标识元素属同一数据类型,用数组名和下标确定一维数组一维数组的定义定义方式:数据类型 数组名常量表达式;Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望一维数组的引用v数组必须先定义,后使用v只能逐个引用数组元素,不能一次引用整个数组v数组元素表示形式:数组名下标其中:下标可以是常量或整型表达式例 int i=15;int datai;(不能用变量定义数组维数)例 int a10;printf(“%d”,a);()必须
2、 for(j=0;j10;j+)printf(“%dt”,aj);()例 int data5;data5=10;/C语言对数组不作越界检查,使用时要 注意一维数组的初始化v初始化方式 在定义数组时,为数组元素赋初值(在编译阶段使之得到初值)int a5=1,2,3,4,5;等价于:a0=1;a1=2;a2=3;a3=4;a4=5;v说明:l数组不初始化,其元素值为随机数l对static数组元素不赋初值,系统会自动赋以0值l当全部数组元素赋初值时,可不指定数组长度如 int a5=6,2,3;等价于:a0=6;a1=2;a2=3;a3=0;a4=0;如 int a3=6,2,3,5,1;()st
3、atic int a5;等价于:a0=0;a1=0;a2=0;a3=0;a4=0;l只给部分数组元素赋初值 int a=1,2,3,4,5,6;编译系统根据初值个数确定数组维数程序举例例 读10个整数存入数组,找出其中最大值和最小值步骤:1.输入:for循环输入10个整数2.处理:(a)先令max=min=x0(b)依次用xi和max,min比较(循环)若maxxi,令min=xi3.输出:max和min#include#define SIZE 10main()int xSIZE,i,max,min;printf(Enter 10 integers:n);for(i=0;iSIZE;i+)pr
4、intf(%d:,i+1);scanf(%d,&xi);max=min=x0;for(i=1;iSIZE;i+)if(maxxi)min=xi;printf(Maximum value is%dn,max);printf(Minimum value is%dn,min);例 用数组求Fibonacci数列前20个数f0f1f2f3f4f5f19.11f1901452319235#include main()int i;int f20=1,1;for(i=2;i20;i+)fi=fi-2+fi-1;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第五趟13 27 30第六趟49 38 65 97 76 13 27 30初始关键字n=838497697139727973097137676762730136527653065131349493049
6、27382738303813 27第七趟输入n 个数给a1 到 anfor j=1 to n-1for i=1 to n-jaiai+1真假aiai+1输出a1 到 an#include main()int a11,i,j,t;printf(Input 10 numbers:n);for(i=1;i11;i+)scanf(%d,&ai);printf(n);for(j=1;j=9;j+)for(i=1;iai+1)t=ai;ai=ai+1;ai+1=t;printf(The sorted numbers:n);for(i=1;i11;i+)printf(%d,ai);例 用简单选择法对10个数
7、排序排序过程:(1)首先通过n-1次比较,从n个数中找出最小的,将它与第一个数 交换第一趟选择排序,结果最小的数被安置在第一个元素位置上(2)再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录,将它与第二个数交换第二趟选择排序(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
8、 76 六趟:13 27 38 49 65 76 97 kkkkjjjjjjjjjj输入n 个数给a1 到 anfor i=1 to n-1for j=i+1 to najak真假k=j输出a1 到 ank=iaiaki!=k真假#include main()int a11,i,j,k,x;printf(Input 10 numbers:n);for(i=1;i11;i+)scanf(%d,&ai);printf(n);for(i=1;i10;i+)k=i;for(j=i+1;j=10;j+)if(ajak)k=j;if(i!=k)x=ai;ai=ak;ak=x;printf(The sort
9、ed numbers:n);for(i=1;i11;i+)printf(%d,ai);#define N 6main()int aN,bB-60,c=1,2,3,4,5,6,i;for(i=0;iN;i+)scanf(“%d%d”,&ai,&bi);for(i=0;iN;i+)printf(“%d ”,ai);printf(“n”);for(i=0;iN;i+)printf(“%d ”,bi);printf(“n”);for(i=0;iN;i+)ci=ai+bN-i-1;for(i=0;iN;i+)printf(“%d ”,ci);数组定义:必须用常量表达式数组元素引用二维数组及多维数组二维数
10、组的定义v定义方式:数据类型数组名常量表达式常量表达式;v数组元素的存放顺序l原因:内存是一维的l二维数组:按行序优先l多维数组:最右下标变化最快例 int a34;float b25;int c234;int a3,4;()行数列数元素个数=行数*列数int a32a01a10a11a20a21014523a00a00 a01a10 a11a20 a21int c23401234567.20212223c000c001c002c003c010c011c012c013c020c021c022c023c100c101c102c103c110c111c112c113c120c121c122c123
11、v二维数组理解例 int a34;20161720181920202120222320089201011201213201415200012002320045200067a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a23每个元素ai由包含4个元素的一维数组组成二维数组a是由3个元素组成a0a1a2行名014523a01a02a03a10a11a00a13a20a21a22a23a1267101189a0a1a2二维数组元素的引用形式:数组名下标下标二维数组元素的初始化l分行初始化:例 int a23=1,2,3,4,5,6;a00 a01 a02 a10
12、 a11 a12123456全部初始化l按元素排列顺序初始化 例 int a23=1,2,4;a00 a01 a02 a10 a11 a12120400部分初始化 例 int a3=1,4,5;a00 a01 a02 a10 a11 a12100450第一维长度省略初始化 例 int a23=1,2,3,4,5,6;a00 a01 a02 a10 a11 a12123456全部初始化 例 int a23=1,2,4;a00 a01 a02 a10 a11 a12124000部分初始化 例 int a3=1,2,3,4,5;a00 a01 a02 a10 a11 a12123450第一维长度省略
13、初始化程序举例例 将二维数组行列元素互换,存到另一个数组中a=1 2 34 5 6b=1 42 53 6#include main()int a23=1,2,3,4,5,6;int b32,i,j;printf(array a:n);for(i=0;i=1;i+)for(j=0;j=2;j+)printf(%5d,aij);bji=aij;printf(n);printf(array b:n);for(i=0;i=2;i+)for(j=0;jmax真假max=aijrow=icolum=j输出:max和row,colum#include main()int a34=1,2,3,4,9,8,7,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常量表达式 数组 构造数据类型之一数组有序数据的集合 用数组名标识元素属同一数据类型 用数组名和下标确定一维数组一维数组的定义定义方式: 数据类型 数组名常量表达式; 构造 之一 有序 数据 集合
链接地址:https://www.taowenge.com/p-59788741.html
限制150内