C++数组的应用.ppt
- 文档编号:2638278
- 上传时间:2022-11-04
- 格式:PPT
- 页数:58
- 大小:521KB
C++数组的应用.ppt
《C++数组的应用.ppt》由会员分享,可在线阅读,更多相关《C++数组的应用.ppt(58页珍藏版)》请在冰豆网上搜索。
2022/11/41第第44章章数组的应用数组的应用数组的定义数组的定义数组数组:
同类型变量或对象的集合称为数组。
同类型变量或对象的集合称为数组。
数组的定义格式如下:
数组的定义格式如下:
类型类型数组名数组名下标表达式下标表达式11下标表达式下标表达式22其中:
数组名为一标识符;其中:
数组名为一标识符;下标表达式为常量表达式,不能是变量下标表达式为常量表达式,不能是变量表达式。
表达式。
2022/11/42有一个下标表达式,则该数组叫做一维数组;有一个下标表达式,则该数组叫做一维数组;有两个下标表达式,则该数组叫做两维数组;有两个下标表达式,则该数组叫做两维数组;有有NN个下标表达式,则该数组叫做个下标表达式,则该数组叫做NN维数组。
维数组。
数组中的变量称为数组中的变量称为数组元素数组元素,由于数组中每,由于数组中每个元素都有下标,因此数组元素也称为个元素都有下标,因此数组元素也称为下标变量下标变量;数组下标取值从数组下标取值从00开始,使用数组时下标不能开始,使用数组时下标不能越界;越界;同一数组的所有数组元素在内存中占用一片同一数组的所有数组元素在内存中占用一片连续的存储单元。
连续的存储单元。
2022/11/434.1数值型数组应用数值型数组应用一维数组的定义格式:
一维数组的定义格式:
类型类型数组名数组名下标表达式下标表达式如:
如:
intintarray5array5;定义了一个名叫定义了一个名叫arrayarray的一维整型数组,其数的一维整型数组,其数组元素分别为:
组元素分别为:
array0,array0,array1,array1,array2,array2,array3,array3,array4array4。
2022/11/44一维数组元素的存放顺序:
一维数组元素的存放顺序:
按下标顺序存放在连续的内存单元中。
按下标顺序存放在连续的内存单元中。
array5:
array5:
array0array0array1array1array2array2array3array3array4array42022/11/45一维数组的初始化:
一维数组的初始化:
初始值用花扩号扩起初始值用花扩号扩起,数组元素按存储顺序对数组元素按存储顺序对应取值。
应取值。
如:
如:
intintarray5=1,2,3,4,5,b5=5,6,7;array5=1,2,3,4,5,b5=5,6,7;对对arrayarray的的55个元素赋了初值,个元素赋了初值,bb数组中数组中b0,b1,b2b0,b1,b2三个元素分别赋了初三个元素分别赋了初值值5,6,7,5,6,7,而而b3,b4b3,b4则为零。
则为零。
数值型数组在定义时若对其中某些元素赋了数值型数组在定义时若对其中某些元素赋了初值,则其它未赋初值的元素将自动设置为初值,则其它未赋初值的元素将自动设置为00。
2022/11/46一维数值型数组的赋值和输入输出:
一维数值型数组的赋值和输入输出:
数组名是数组首元素的内存地址数组名是数组首元素的内存地址,是一个常是一个常量,不能被赋值。
量,不能被赋值。
一维数值型数组一维数值型数组:
要对各数组元素操作,不要对各数组元素操作,不能直接用数组名操作。
能直接用数组名操作。
输入数组各数组元素的值:
输入数组各数组元素的值:
intintj,a5;j,a5;for(jfor(j=0;j5;j+)=0;jajaj;直接用直接用cincina;a;错误。
错误。
2022/11/47输出数组各数组元素的值:
输出数组各数组元素的值:
intinta5=1,2,3,4,5;a5=1,2,3,4,5;coutcouta;a;/输出内容错输出内容错,输出是一地址输出是一地址intinta5=1,2,3,4,5;a5=1,2,3,4,5;for(jfor(j=0;j5;j+)=0;j5;j+)coutcoutajajendlendl;2022/11/48例例4.14.1、输入一维数值型数组各元素的值,并将、输入一维数值型数组各元素的值,并将各元素的值输出。
各元素的值输出。
#include#includeusingnamespacestd;usingnamespacestd;voidmain()voidmain()intintj,a5;j,a5;for(jfor(j=0;j5;j+)=0;jajaj;for(jfor(j=0;j5;j+)=0;j5;j+)coutcoutajaj;2022/11/49一维数组应用举例一维数组应用举例例例4.24.2、对一个大小为、对一个大小为100100的一维整型数组各元素的一维整型数组各元素赋值赋值22#include#includeusingnamespacestd;usingnamespacestd;voidmain()voidmain()intintarray100;array100;for(intfor(intj=0;j100;j+)j=0;j100;j+)arrayjarrayj=2;=2;coutcoutarrayjarrayj;if(j+1)%10=0)if(j+1)%10=0)coutcoutendlendl;2022/11/410例例4.34.3、有有nn个个学学生生参参加加某某门门课课程程的的考考试试,把把高高于于平均成绩的学生学号和成绩输出出来。
平均成绩的学生学号和成绩输出出来。
思路分析:
思路分析:
对于学生的信息用数组表示。
对于学生的信息用数组表示。
用用一一维维数数组组numnum表表示示学学生生的的学学号号;用用一一维维数数组组元素元素numinumi表示第表示第ii个学生的学号。
个学生的学号。
用一维数组用一维数组ss表示学生的某门课程的考试成绩;表示学生的某门课程的考试成绩;用一维数组元素用一维数组元素sisi表示第表示第ii个学生某门课程的个学生某门课程的考试成绩。
考试成绩。
2022/11/411源程序清单:
源程序清单:
#include#includeusingnamespacestd;usingnamespacestd;voidmain()voidmain()intinti,ni,n;floatnum50,s50,sum=0.0,ave;floatnum50,s50,sum=0.0,ave;cincinn;n;for(ifor(i=0;i=0;inuminumisisi;for(ifor(i=0;i=0;in;in;i+)sum=+)sum=sum+sisum+si;aveave=sum/n;=sum/n;for(ifor(i=0;i=0;iave)coutave)coutnuminumisisiendlendl;2022/11/412例例4.44.4、求、求FibonacciFibonacci数列前数列前2020项。
项。
思路分析:
思路分析:
FibonacciFibonacci数列前数列前2020项的值用一个一维数组项的值用一个一维数组ff表示,其中前两项的值分别是表示,其中前两项的值分别是11。
因此,在定义。
因此,在定义一维数组一维数组ff时,给前两个数组元素赋初始值时,给前两个数组元素赋初始值11。
在。
在输出结果时,每行输出输出结果时,每行输出55个数。
个数。
2022/11/413源程序清单:
源程序清单:
#include#include#include#includeusingnamespacestd;usingnamespacestd;voidvoidmain(voidmain(void)intinti,f20=1,1;i,f20=1,1;for(ifor(i=2;i20;i+)=2;i20;i+)fifi=fi-2+fi-1;=fi-2+fi-1;for(ifor(i=0;i20;i+)=0;i20;i+)if(i%5=0)coutif(i%5=0)coutendlendl;coutcoutsetw(5)setw(5)fifi;2022/11/414例例4.54.5、求一维数组中最大、最小元素、求一维数组中最大、最小元素#include#includeusingnamespacestd;usingnamespacestd;voidmain()voidmain()doublearray10=68.5,87.4,83.1,98.5,93.5,doublearray10=68.5,87.4,83.1,98.5,93.5,76.9,98.1,62.4,54.6,91.7,big,small;76.9,98.1,62.4,54.6,91.7,big,small;big=small=array0;big=small=array0;for(intfor(inti=0;i10;i+)i=0;ibig)big=big)big=arrayiarrayi;if(arrayiif(arrayismall)small=small)small=arrayiarrayi;coutcoutbig=big,small=smallbig=big,small=smallendlendl;2022/11/415例例4.64.6、利用折半查找法,在按从小到大顺序排、利用折半查找法,在按从小到大顺序排列的十个数据中查找是否有键盘输入的数值列的十个数据中查找是否有键盘输入的数值xx。
#include#includeusingnamespacestd;usingnamespacestd;voidvoidmain(voidmain(void)intinta10,i,bot=0,mid,top=9,x,pos;a10,i,bot=0,mid,top=9,x,pos;coutcoutPleaseinputtennumbersPleaseinputtennumbers(fromsmalltobig):
(fromsmalltobig):
endlendl;for(ifor(i=0;i10;i+)=0;iaiai;coutcoutPleaseinputthenumbertoPleaseinputthenumbertoqueue:
queue:
x;x;2022/11/416while(botwhile(bot=top)x)x)top=mid-1;top=mid-1;elseelsebotbot=mid+1;=mid+1;if(botif(bottop)top)coutcoutNothisnumber.;Nothisnumber.;elseelsecoutcoutxisatthepos+1xisatthepos+1position.;position.;2022/11/417例例4.74.7、按从小到大对整型数组排序。
、按从小到大对整型数组排序。
方法方法11:
选择法:
选择法若干(用若干(用nn表示)整数数据用一维数组表示。
表示)整数数据用一维数组表示。
先将先将nn个数中的最小的数与第个数中的最小的数与第11个数对调,再将后个数对调,再将后面面n-1n-1个数中的最小的数与第个数中的最小的数与第22个数对调,个数对调,。
每比较一轮,找出一个未经排序的数中最小的数每比较一轮,找出一个未经排序的数中最小的数与相应位置的数对调。
与相应位置的数对调。
2022/11/418源程序清单:
源程序清单:
#include#includeusingnamespacestd;usingnamespacestd;voidvoidmain(voidmain(void)intintconstN=20;constN=20;intinti,j,t,ni,j,t,n;intintaNaN;cincinn;n;coutcoutInputnumbers:
Inputnumbers:
endlendl;2022/11/41
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 数组 应用