版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章数组,主要内容是: 1,一维数组2,二维数组3,字符数组和字符串的重点:数组的定义和数组元素的参照,数组的概要,数组:用于存储同一类型数据的结构型数组名:同一类型数据共有的名称。 下标:数组中的每个数据由下标区分。 例如,一组实验数据、一组学生成绩、表、矩阵等处理,都用数组数据类型表示。 7.1维阵列,例如7.1输入5.0个整数,并按相反顺序输出。 主() int a 50,I; /*数组a和循环变量i */for(i=0; i=0; i-) /*反向输出5.0个整数*/printf(M,ai) a0 a1 a2 a3 a4a49,一维阵列:每个阵列元素都有一个带下标的一维阵列的通用形式
2、。 类型描述符数组名常量表达式包括浮点标量3.0; float是定义数组中元素类型的类型说明符。 score是一个数组名,是该组数据的公共名称。3.0是一个常量表达式,表示数组的长度,即数组元素的数量。 也就是说,阵列score可以保持若干个浮点型数据。 注意:定义数组时,长度必须是确定的值。 例如: int aa; (错误)浮点xsn; (error )、数组元素引用:数组名后缀: ai是数组a的后缀为I的数组元素a0,后缀为0的数组元素。 规定习语言:数组后缀从0开始。 例如,阵列a50包括5.0个阵列元素,分别为049的a0 a1 a2 a49,没有阵列元素score50。 使用a50是
3、危险的,但为什么是一维数组的记忆格式:每个数组占用连续的记忆单元,每个元素按下标的顺序存储。 像int data10一样排列data占2*10=20字节,实现data0 data1 data2 data9,例7.3计程仪编程:输入某堂课的3.0人的成绩(0100 ),希望打印出平均分以上的成绩。 分析资料结构: 3.0人的成绩、类型相同,可按一维度序列存储。 分析算法: S1:通过输入3.0人的成绩进行累积,通过循环实现,循环体求出“输入第k人的成绩,累积部分和”的S2 :平均S3 :求出平均分以上的成绩。 在循环中也可以实现,循环体为“将第k个成绩平均,变高后输出”的循环条件为“k30,k的
4、初始值为0,高附加值为“k”,#define N 3 main() float scoreN,sum,average; 英特尔; 打印机(进入% d scores 3360,n )和=0; for(k=0; k average) printf(n %6.1f,scorek ),例7.4用起泡法将n个整数按从小到大的顺序排列。 冒泡排序的基本思维方法是两个相邻的元素比较,按照要求的次序排出,比较,然后是最大的元素被排序的序列的最后一个位置替换。 排序顺序按顺序重复上述步骤,直到完成所有排序。 数据结构: n个整数以一维整数数组存储。 算法: (N=5时,排序的数据为3101 )冒泡排序为:次:第
5、2810次:第2810次:第2810次: 13810分析:排序的数据数为N=5时,是n-1=4次,是第I次排序的排序用双重循环实现。 程序流程图:例7.4冒泡排序。 定义5主() inta=0,3,2,1.0,8,1; 英特尔、I、j; for(i=1; iaj 1) /*相邻的2个数相反时*/t=aj; aj=aj 1; aj 1=t; 打印机(n ) for (I=1; i=N; i ) printf(%d,ai )阵列a的长度为1.1,由初始值的个数决定。 其中a1至a10是有效数据,不使用a0,主要是为了满足我们的计数习惯。 例7.5求某数列的最初的2.0项。 此数列的特征: f1=0
6、(n=1) f2=1(n=2) fn=fn-1 fn-2 (ndio DD ),fn=| fn-1 - fn-2 | (n is even )分析:数据结构:此数列的数据都是整数,可以用整数的一维度数组来存储。 算法: S1:从第三项开始,各项是前两项的和或差,可以循环实现:每循环计算一项。 求出上位2.0项,分别保存在排列中的相应位置。 S2:输出阵列中的各个元素,并通过循环来实现。包括主() int f 21,k; f1=0; f2=1; for(k=3; k=20; k=2) fk=fk-1 fk-2; 数字列表3360 n打印机(k=1); k=20; k ) printf(d,fk)
7、 if(k %6=0) printf(n) /*控制各行输出的六个* /一维阵列的初始化,一维阵列的初始化:在定义阵列时,可以向部分或全部阵列元素提供初始值,即阵列的初始化。 数组元素的初始值用一组大括号括起来。 (1)只对一部分元素体赋予初始值。 例如,intx 2.0=1,2; 仅对数组元素x0、x1分配初始值。 (2)给予所有的数组要素初始值,数组长度可以省略,由初始值的个数决定。 例如,inta=0、3、2、1.0、8、1; 7 .用于描述数据结构的特征,如二维数组、相似矩阵、表等:1)所有数据都是相同类型的,并且由个数相等的数据组组成。 2 )每个组的数据表示完整的意思,可以看作整体
8、。 例如,2*3矩阵有6个数据,被分成2个组,每组3个数据,表示一行。 可定义的数组: int bb23; 作为另一个例子,一个班是3.0人,期末考试是4门课,他们的成绩都是浮动型,一共120门成绩,分成3.0组,每组4个,即表示某人的成绩或者4个组,每组表示3.0个,即某堂课的成绩。 定义数组:浮点尺寸304; 能显示3.0人的成绩,每人有四门课。 浮动sc 430; 可以显示四门课,一门课就能取得3.0人的成绩。 比较:一维度数组可以表示所有数据,但不能表示数据之间的组关系。 例7.6输入某班级(3.0人)的期末考试4个科目的成绩,计算每人的平均成绩,用1行1.0个数据输出平均成绩。 分析
9、资料结构: 3.0人4课的成绩用二次元排列表示,3.0人的平均成绩用一维度排列表示。 算法: S1:输入3.0人(每人4课)的成绩。 S2:计算人均成绩。 S3:输出人均成绩。 分析各个步骤,如何实现? 循环结构堆计程仪:main() /*例7.6*/float score304,aver30,sum; 英特里、j; for(i=0; i30; (i)/*30人的成绩*/printf (英特尔四科斯福利3360 % dn,i 1) for(j=0; j4; 4课的成绩*/scanf(%f,/*下一页* /,for(i=0; i30; i ) /*人均成绩*/if(i=0)printf(“n”)
10、; /*二维数组定义的通用格式,用于控制每行的1.0数据*/printf(%5.1f,averi ) :类型名称数组名常量表达式1常量表达式2,浮点计算304; 数组元素包括score堆0.0、score01、score02、score03 score10、score11、score12、score等级20、score21、score22、score23 score290、score291、score22 其中的数组元素为: bb00、bb01、bb02 bb10、bb11、bb12说明:数组的一维下标全部从0开始。 (二维阵列可视为特殊的一维阵列,各阵列元素为一维阵列)、存储形式:二维阵列与
11、同一维阵列相同,占有连续的存储单元,逐行存储。 数组名表示整个数组的起始地址,数组名和第一个维的后缀表示行的起始地址。 数组a初始化*/int b33,I,j; for(i=0; i3; 求出关转置矩阵字b */for (j=0; j3; j ) bji=aij; 打印机(n矩阵a : n ); /*输出矩阵a (行单位输出) */for(i=0; i3; (j=0; j3; 打印机,打印机。 printf(“n”); 输出1行后,换行符*/*下一页*/,/*下一页*/printf(“matrix b:n”); /*输出矩阵b*/for(i=0; i3; (j=0; j3; j ) printf( (,bij) printf(n ),初始化二次元数组: (1)为所有数组元素分配初始值: inta 3.3=1,2,3,4,5,6,7,8,9; 等效于inta 3.3=1、2、3、4、5、6、7、8、9或等效于inta3=1、2、3、4、5、6、7、8、9; 其中第一次元的长度可以省略。 (按行存储) (2)对部分数组元素分配初始值: int b 24=1,2,6,8; 结果: b00=1,b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【兰州】2025年甘肃兰州城市学院公开招聘事业编制辅导员10人笔试历年典型考题及考点剖析附带答案详解
- 无锡江苏省无锡市梁溪公证处招聘笔试历年参考题库附带答案详解(5卷)
- 北京北京科技职业大学2025年招聘19人(第三批)笔试历年参考题库附带答案详解(5卷)
- 2026中国一重集团有限公司校园招聘笔试历年参考题库附带答案详解
- 2025版中国经导管左心耳封堵术临床路径专家共识解读课件
- 2025版慢性下肢静脉功能不全超声检查中国专家共识解读课件
- 纷享销客CRM应用培训大纲
- 农村金融服务要执行信贷审核安全防范措施
- 《认识近似数》课件2025-2026学年人教版二年级下册数学
- 高一下学期主题班会用电安全教育
- 2026年青海省海南藏族自治州单招职业适应性测试题库附参考答案详解(模拟题)
- 2025年广东省高职院校五年一贯制转段考试文化课测试(数学)
- 第八章左拉优质获奖课件
- GB/T 7233.1-2023铸钢件超声检测第1部分:一般用途铸钢件
- 华为智慧化工园区解决方案-
- 刑法学(上册)马工程课件 第6章 犯罪客观方面
- 洁净厂房监理实施细则
- 静脉输液(最终版)课件
- 河北单招考试三类练习题及答案
- 中铁二十四局集团有限公司施工现场从业人员安全风险告知书
- 计算机软件著作权登记申请表范本
评论
0/150
提交评论