[电脑基础知识]第四章可编辑.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[电脑基础知识]第四章可编辑

第四章 数 组 的 应 用 计算机程序设计基础( C++) 熟练掌握数值型数组(一维、二维)的概念 熟练掌握数值型数组的定义、初始化、存储数据 熟练掌握数值型数组的基本操作 输入、输出数组 计算(累和、均值、查找、最大、数论等) 掌握典型算法 教 学 内 容 一维数组 二维数组 一维数组 数组的概念 数组的定义格式 类型 数组名 [常量表达式1] [常量表达式2][…] 一维数组的初始化 注意:未初始化的动态变量,变量中的数据是最后一次存储在内存单元中的垃圾数据; 1、在定义数组时对每个元素赋初值: int a[4]={1,2,3,4}; int a[4]; a[0]=1;a[1]=2;a[2]=3;a[3]=4; char b[2]={A,B}; float d[3]={0.0,0.0,0.0}; 一维数组的初始化 一维数组的初始化 3、如果要将数组元素全部赋初值为0或‘ ’ ,可写为: int a[10]={0}; char b[5]={‘ }; 4、给全部元素赋初值时可不指定数组长度 int a[ ]={1,2,3,4}; 5、说明数组时,在前面加上关键字static定义静态数组 例如:static int a[5]; 若未对静态数组进行初始化,则数组的所有元素将自动获取初始值0 一维数组的初始化 错误: int a[4]={1,2,3,4,6,7}; int a[4]; a[1]=1;a[2]=2;a[3]=3;a[4]=4; int a[n]; 一维数组的存储 在内存中连续存放 例:char letter[3]={A,B,C}; 一维数组的赋值 只能对数组元素逐个操作,不能对数组整体操作; 赋值: 1、直接对数组初始化; 2、通过循环访问数组中每个元素 一维数组的输出 通过循环访问数组中每个元素 一维数组的操作 只能对数组元素操作,不能对数组整体操作; 计算(累和、均值、查找、最大最小等) 思路分析:   对于学生的信息用数组表示。   用一维数组num表示学生的学号;用一维数组元素num[i]表示第i个学生的学号。   用一维数组s表示学生的某门课程的考试成绩;用一维数组元素s[i]表示第i个学生某门课程的考试成绩。 源 程 序 清 单 #includeiostream using namespace std; void main( ) { int i,n,num[50]; float s[50],sum=0.0,ave; cout请输入学生人数:; cinn; for (i=0;in;i++) {cout请输入第i+1个学生的学号和成绩:; cinnum[i]s[i]; } for (i=0;in;i++) sum=sum+s[i]; ave=sum/n; cout平均成绩为:aveendl; cout高于平均成绩的学生学号和成绩:endl; for (i=0;in;i++) if (s[i]ave) coutnum[i],s[i]endl; } [例]求Fibonacci数列前20项 思路分析: Fibonacci数列:第一项数值为1,第二项数值为1,从第三项开始之后的各项数值是它的前两项数值之和。 采用一维数组f[20]存储Fibonacci数列,除第1、2项外,其他的每一项值为: f[i]=f[i-1]+f[i-2]; 源 程 序 清 单 #include iostream #include iomanip using namespace std; void main( ) { int i,f[20]={1,1}; for(i=2;i20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i20;i++) {if(i%5==0) coutendl; coutsetw(5)f[i]; } coutendl; } [例] 利用折半查找法,在按从小到大顺序排列的十个数据中查找是否有键盘输入的数值x。 思路分析: 先用位居中点的元素a(n/2)与x比较, ①若x=a(n/2),则查找成功; ②若x≠a(n/2),同时x<a(n/2),则在a1, a2, …, a(n/2-1)中采用上述方法继续查找; ③否则在a(n/2+1),a(n/2+2),…, an中采用上述方法继续查找。(最多只需要比较log2n次) 源 程 序 清 单

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档