第6章-利用数组处理批量数据白色底板优质PPT.ppt
- 文档编号:15040044
- 上传时间:2022-10-27
- 格式:PPT
- 页数:95
- 大小:1.20MB
第6章-利用数组处理批量数据白色底板优质PPT.ppt
《第6章-利用数组处理批量数据白色底板优质PPT.ppt》由会员分享,可在线阅读,更多相关《第6章-利用数组处理批量数据白色底板优质PPT.ppt(95页珍藏版)》请在冰豆网上搜索。
数组名的命名规则和变量名相同数组名的命名规则和变量名相同如如inta10;
数组名数组名6.1.1怎怎样定定义一一维数数组定义一维数组的一般形式为:
数组数组长度长度6.1.1怎怎样定定义一一维数数组定义一维数组的一般形式为:
10个元素个元素:
a0,a1,a2,a9每个元素的数据类型每个元素的数据类型a0a1a2a3a3a7a8a96.1.1怎怎样定定义一一维数数组定义一维数组的一般形式为:
inta4+6;
合法合法intn;
scanf(“%d”,&
n);
intan;
不合法不合法6.1.2怎怎样引用一引用一维数数组元素元素注意:
注意:
只能引用数组元素而不能一次整只能引用数组元素而不能一次整体调用整个数组全部元素的值体调用整个数组全部元素的值6.1.2怎怎样引用一引用一维数数组元素元素引用数组元素的表示形式为:
引用数组元素的表示形式为:
数组名下标数组名下标如如a0=a5+a7-a2*3合法合法intn=5,a10;
an=20;
合法合法6.1.2怎怎样引用一引用一维数数组元素元素例例6.1对对10个数组元素依次赋值为个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。
,要求按逆序输出。
解题思路:
u定义一个长度为定义一个长度为10的数组,数组定义为整型的数组,数组定义为整型u要赋的值是从要赋的值是从0到到9,可以用循环来赋值,可以用循环来赋值u用循环按下标从大到小输出这用循环按下标从大到小输出这10个元素个元素#includeintmain()inti,a10;
for(i=0;
i=0;
i-)printf(%d,ai);
printf(n);
return0;
使使a0a9的值为的值为090123456789a0a1a2a3a4a5a6a7a8a9#includeintmain()inti,a10;
先输出先输出a9,最,最后输出后输出a00123456789a0a1a2a3a4a5a6a7a8a96.1.3一一维数数组的初始化的初始化在定义数组的同时,给各数组元素赋值在定义数组的同时,给各数组元素赋值inta10=0,1,2,3,4,5,6,7,8,9;
inta10=0,1,2,3,4;
相当于相当于inta10=0,1,2,3,4,0,0,0,0,0;
inta10=0,0,0,0,0,0,0,0,0,0;
相当于相当于inta10=0;
inta5=1,2,3,4,5;
可写为可写为inta=1,2,3,4,5;
6.1.4一一维数数组程序程序举例例例例6.2用数组处理求用数组处理求Fibonacci数列问题数列问题解题思路:
u例例5.8中用简单变量处理的,中用简单变量处理的,缺点缺点不能在内存不能在内存中保存这些数。
假如想直接输出数列中第中保存这些数。
假如想直接输出数列中第25个数,是很困难的。
个数,是很困难的。
u如果用数组处理,每一个数组元素代表数列中如果用数组处理,每一个数组元素代表数列中的一个数,依次求出各数并存放在相应的数组的一个数,依次求出各数并存放在相应的数组元素中元素中#includeintmain()inti;
intf20=1,1;
for(i=2;
i20;
i+)fi=fi-2+fi-1;
i+)if(i%5=0)printf(“n”);
printf(“%12d”,fi);
例例6.3有有10名同学的成绩名同学的成绩,要求对,要求对他他们按们按由小到大的顺序排列。
由小到大的顺序排列。
u排序的规律有两种:
一种是排序的规律有两种:
一种是“升序升序”,从小到从小到大;
另一种是大;
另一种是“降序降序”,从大到小,从大到小u把题目抽象为:
把题目抽象为:
“对对n个数按升序排序个数按升序排序”u采用起泡法排序采用起泡法排序985420895420859420854920854290854209大数沉淀,小数起泡大数沉淀,小数起泡a0a1a2a3a4a5for(i=0;
iai+1)t=ai;
ai=ai+1;
ai+1=t;
854209584209548209542809542089a0a1a2a3a4a5for(i=0;
542089452089425089420589a0a1a2a3a4a5for(i=0;
420589240589204589a0a1a2a3a4a5for(i=0;
204589024589a0a1a2a3a4a5for(i=0;
iai+1)for(i=0;
iai+1)for(j=0;
j5;
j+)inta10;
inti,j,t;
printf(input10numbers:
i10;
i+)scanf(%d,&
ai);
for(j=0;
j9;
j+)for(i=0;
printf(thesortednumbers:
i+)printf(%d,ai);
6.2怎怎样定定义和引用二和引用二维数数组90808585958590708585858888908585858586同学同学1同学同学2同学同学3数学数学英语英语政治政治体育体育导论导论程序设计程序设计floatscore36;
6.2.1怎样定义二维数组怎样定义二维数组6.2.2怎样引用二维数组的元素怎样引用二维数组的元素6.2.3二维数组的初始化二维数组的初始化6.2.4二维数组程序举例二维数组程序举例6.2怎怎样定定义和引用二和引用二维数数组二维数组定义的一般形式为二维数组定义的一般形式为类型符类型符数组名数组名常量表达式常量表达式常量表达式常量表达式;
如:
floata34,b510;
二维数组可被看作是一种特殊的一维数组:
它的元素又是一个一维数组它的元素又是一个一维数组例如,把例如,把a看作是一个一维数组,它有看作是一个一维数组,它有3个元素:
个元素:
a0、a1、a2每个元素又是一个包含每个元素又是一个包含4个元素的一维数组个元素的一维数组6.2.1怎怎样定定义二二维数数组a00a01a02a03a10a11a12a13a20a21a22a23a0a1a2a00a01a02a03a10a11a12a13a20a21a22a23内存中的存储顺序内存中的存储顺序二维数组元素的表示形式为二维数组元素的表示形式为:
数组名下标下标数组名下标下标b12=a23/2合法合法for(i=0;
im;
i+)printf(“%d,%dn”,ai0,a0i);
合法合法6.2.2怎怎样引用二引用二维数数组的元素的元素inta34=1,2,3,4,5,6,7,8,9,10,11,12;
inta34=1,2,3,4,5,6,7,8,9,10,11,12;
inta34=1,5,9;
等价于等价于inta34=1,0,0,0,5,0,0,0,9,0,0,0;
inta34=1,5,6;
相当于相当于inta34=1,5,6,0;
6.2.3二二维数数组的初始化的初始化inta34=1,2,3,4,5,6,7,8,9,10,11,12;
等价等价于于:
inta4=1,2,3,4,5,6,7,8,9,10,11,12;
inta4=0,0,3,0,0,10;
合法合法6.2.3二二维数数组的初始化的初始化例例6.4将一个二维数组行和列的元素互换,将一个二维数组行和列的元素互换,存到另一个二维数组中。
存到另一个二维数组中。
6.2.4二二维数数组程序程序举例例解题思路:
u可以定义两个数组:
数组可以定义两个数组:
数组a为为2行行3列,存放指定列,存放指定的的6个数个数u数组数组b为为3行行2列,开始时未赋值列,开始时未赋值u将将a数组中的元素数组中的元素aij存放到存放到b数组中的数组中的bji元素中元素中u用嵌套的用嵌套的for循环完成循环完成6.2.4二二维数数组程序程序举例例#includeintmain()inta23=1,2,3,4,5,6;
intb32,i,j;
printf(arraya:
i=1;
i+)for(j=0;
j=2;
j+)printf(%5d,aij);
bji=aij;
处理处理a的一行中各元素的一行中各元素处理处理a中某一列元素中某一列元素输出输出a的的各元素各元素a元素值赋给元素值赋给b相应元素相应元素printf(arrayb:
i=2;
jmax,则表示则表示a01是已经比过的数据中值最大的,是已经比过的数据中值最大的,把它的值赋给把它的值赋给max,取代了,取代了max的原值的原值u以后依此处理,以后依此处理,最后最后max就是最大的值就是最大的值fori=0to2forj=0to3max=aijrow=I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 数组 处理 批量 数据 白色 底板