




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020/6/13,1,例如,一个班100名学生的平均成绩,将统计高于平均分数的人数。使用简单变量和循环结构相结合的方法得出平均分数。aver=0;for(I=1);I=100I) scanf (%f ,2020/6/13,2,不能计算高于平均值的数字。Mark是保存最后一个学生成绩的简单变量。用现有知识解决:1。如果重新输入成绩,会出现两个问题:(1)输入数据的工作量加倍;(2)这次输入的成绩与上次不同,统计结果不正确。2 .使用100个变量mark1、mark 2、mark 99、mark 100。2020/6/13,3,分析:1。这100个变量都是学生成绩,表示同一种类的对象。2.数据类型相同。3.可以按顺序区分不同的变量。这是解决这个问题的根本方法,引入数组并始终保留输入的数据,输入一次,多次使用。除了、int、float、char等基本数据类型外,c语言还提供了配置数据类型以满足各种应用程序的需要。配置数据类型由默认数据类型组成,也称为导出类型。构造数据类型包括数组、结构和共享。阵列(array)可以合并相同类型的资料,通常用于大量资料作业。anarrayisadatatypethat usessubscriptedvariablesandmakespossibletherepresentationofalargenumerofhogeneousvalues。第4章数组和指针、数组的维、数组中唯一确定数组元素的下标的数量称为数组的维一维数组。二维数组,通过一个下标可以区分数组的不同元素。要用两个下标分隔数组的其他元素,请执行以下操作:16一维数组34二维数组234三维数组inta6;intb34;intc234;4.1 1一维阵列4.1.1一维阵列的定义和初始化,1 .一维数组定义类型定义器数组名整数常量表达式;是inta6;/17,数组名表示内存的第一个地址,是地址常量,编译时系统分配连续内存字节=数组维*sizeof(元素数据类型),数组a在内存中占用24字节(6*4字节),Aone-dimensionscharname20;注意:不能使用变量定义阵列的长度。float scoren;在定义数组语句中,除非同时为变量赋值,否则方括号中不能包含空格。inta;定义阵列后,您无法再变更阵列的大小。常用方法是使用符号常量指定元素数。# definize 50 float scoresize;/17,4.1.1一维数组的定义和初始化,2 .一维阵列初始化类型定义器阵列名称常数=值1,值2,值n ;例如,inta 6=1,2,3,4,5,6 ;Inta=1,2,3,4,5,6 ;A0=1。a1=2;a2=3;a3=4;a4=5;a5=6;例如,inta6=1,2 ;等于:a0=1;a1=2;a2=0;a3=0;a4=0;a5=6;intc10= 0 ;/c0c9inta=1,2 ;/等于:a0=1;a1=2;/17,4.1.2一维数组元素的引用和操作,1 .阵列元素的参考阵列名称下标注意:(1)阵列元素的下标从0开始(2)参考阵列元素时,只能使用单一参考,整个阵列inta6;A=3,4,5,6,7 ;A6=3,4,5,6,7 ;(3)确保下标不超出阵列的范围。否则,程序结果无效。/17,2。阵列的指定可以在定义阵列时为阵列中的所有或部分变量指定值(即阵列的初始化)。可以在语句中为变量赋值。使用循环为每个数组元素指定值或输入值。,4.1.2参考和使用一维阵列元素,main()inti,a5;for(I=0);i5;I)aI=I;/使用循环结构在数组中直接初始值for(I=0;i5;I )printf(%d,aI);printf(“ n”);,运行结果:0,1,2,3,4,在交互式循环结构中为数组指定初始值,main()inti,a5;for(I=0);i5;I) printf (a %d=,I),scanf (%d ,例如,定义长度为10的整数类型一维数组,然后执行以下功能:在键盘上输入10个整数,每个整数存储在10个数组元素中。输出数组的元素值;反向输出数组的元素值。main()inti,a10;for(I=0);I=0;I-) printf (m ,aI);printf(“ n”);,应用示例,下标:差异错误off-by-oneerror,c语言中具有N个元素的数组元素下标的允许值范围为0到N-1,并且不存在下标为N的元素。例如,此代码尝试将数组a的所有10个元素都设置为0。但是,编译器通常按内存降序分配内存,以便在内存a9后4个字节分配给I。如果原始计数器I的值为10,循环中不存在的a10设置为0,实际上将I的值设置为0,则会陷入死亡循环!main()inti,a10;for(I=1);I=10I) aI=0;printf(“% d”,aI);,应用4.1.3数组1。比较法排序,在键盘上输入10个,从小到大解决输出问题的方法:在数组a中存储10个a(0)和a(1),a (2).依次比较a (9),如果元素的值小于a(0),则与a(0)的值交换,将最小的数字发送到a(0)。然后是a(1)、a(2)、a (3).依次比较a (9),交换哪个元素的值小于a(1)以及a(1)的值,将最小的数发送到a(1)。重复以上步骤。对于n个数字,比较排序方法的总运行次数为:(n-1) (n-2) 3 2 1=n*(n-1)/2。/17,1。比较方法排序,1 .比较方法排序,#includemain()inti,j,a10;Srend(时间(0)For(I=0);iaj)aI=aj=aI=aj; for(I=0);Ia1)交换两者,以将最大数量放置在an-1中。然后a0、a1、a n-2将n-1数与两个相同的相邻数进行比较,如果相反,则将此n-1数的最大值放在an-2中。重复此步骤,进行n-1次比较交换,完成冒泡排序。/17,/17,冒泡,按从小到大的顺序排序10个整数。2 .冒泡排序,/17,#include#defineN10/数据的数量main () inta n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校校服厂管理制度
- 学校配电间管理制度
- 学生对班级管理制度
- 学院各科室管理制度
- 安全品牌部管理制度
- 安息堂人员管理制度
- 安装充电桩管理制度
- 完善总资产管理制度
- 实验室收费管理制度
- 客户更衣区管理制度
- 胸痛健康教育课件
- 2025年合肥城建发展股份有限公司及所属子公司招聘17人(二批次)笔试参考题库附带答案详解
- 【上料机械手结构中的真空系统的设计计算案例1100字】
- 西方美术史试题及答案
- 七年级数学下学期期末测试卷(1)(学生版+解析)-2025年七年级数学下学期期末总复习(北师大版)
- 医院员工手册管理制度
- 校园短剧创作与演出指导行业跨境出海项目商业计划书
- 泉州水务集团有限公司招聘考试真题2024
- 【7历期末】安徽省合肥市包河区2023-2024学年部编版七年级下学期期末历史试卷
- 2025年人教版小学数学三年级下册期末考试卷(带答案)
- 山东省济南市历城区2023-2024学年七年级下学期期末语文试题(解析版)
评论
0/150
提交评论