已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九讲 Begin 第六章数组 一维数组二维数组 数学中 a1 a2 a3 ai an C程序中 a 0 a 1 a 2 a i 1 a n 1 数组是数目固定 类型相同的若干变量的有序集合 数组中的每一个数称为数组元素 数组中的每一个元素都属于同一个数据类型 在内存中数组占有一段连续的存储空间 6 1 1一维数组的定义 初始化和引用 1 一维数组的定义 定义的格式 类型说明符数组名 整常量表达式 说明 类型说明符 表明该数组所属类型 即数组元素的类型 数组名 即数组的名称 其命名方法同变量名 6 1 1一维数组的定义 初始化和引用 下标运算符 可通过该运算符的个数反映出数组的维数 整常量表达式 为一整常量表达式 表明数组的大小 特点 数组元素的个数必须是确定的 数组元素的类型必须一致 6 1 1一维数组的定义 初始化和引用 一维数组在内存中的存放方式 数组定义以后 编译系统 计算机 将在内存中开辟一块连续的存储单元用于存放数组元素 数组名表示存储单元的首地址 存储单元的大小由数组的类型和数组的大小决定 例如inta 5 6 1 1一维数组的定义 初始化和引用 引用方式 数组名 下标 2 一维数组元素的引用 说明 下界 下标 上界 下界 0 上界 整常量表达式 1 下标为整型表达式 一个数组元素实质是一个变量 代表内存中的一个存储单元 引用后的数组变量也称下标变量 6 1 1一维数组的定义 初始化和引用 一维数组元素引用的规定 数组必须先定义后使用 数组元素只能逐个被引用 不能一次引用整个数组 对数组中所有元素逐个引用时 通常可使用循环结构 6 1 1一维数组的定义 初始化和引用 floatb 4 b 0 1 6 b 1 b 0 2 8 b 2 b 0 b 1 6 1 1一维数组的定义 初始化和引用 数组的初始化 指定义数组时对数组元素赋以初值 3 一维数组的初始化 格式 类型符数组名 表达式 初值表 说明 给全部元素赋初值 给部分元素赋初值 给全部元素赋初值时可不指定数组的长度 6 1 1一维数组的定义 初始化和引用 给全部元素赋初值 例inta 8 0 1 2 3 4 5 6 7 给部分元素赋初值 例inta 8 0 1 2 3 4 6 1 1一维数组的定义 初始化和引用 给全部元素赋初值时可不指定数组的长度 例inta 0 1 2 3 4 5 6 7 6 1 1一维数组的定义 初始化和引用 6 1 2一维数组的输入输出 通常 一维数组的输入输出则是通过使用C语言基本输入输出函数配合循环结构来进行 例inta 10 i 通过键盘输入数值 for i 0 i 10 i printf input10numbers i a i scanf d 例1统计全班32名同学某门功课的平均成绩 找出最高分 输出 main inti sum max a 32 floataverage for i 0 imax max a i average float sum 32 printf Average 2f MAX d n average max 6 1 3一维数组应用实例 例2将一个数组中的值按逆序重新存放 并输出它 这里数组长度为N 123456789 6 1 3一维数组应用实例 923456781 983456721 987456321 987654321 例2将一个数组中的值按逆序重新存放 并输出它 这里数组长度为N 分析 N S图如下 6 1 3一维数组应用实例 程序 defineN5main chara N temp inti printf Enterarraya n for i 0 i N i scanf c 6 1 3一维数组应用实例 例3用起泡法排序 将任意十个数按由小到大的方式排序 例 第一轮 682931 682931 628931 628931 628931 628391 628391 628319 628319 628319 268319 268319 268319 263819 263819 263189 263189 第二轮 思路 将相邻两个数进行比较 使小数在前 大数在后 6 1 3一维数组应用实例 分析说明 1 相邻两数比较 a j a j 1 2 第一轮 6个数 j 1 5 循环5次 找出最大数 放在最后 3 第二轮 5个数 j 1 4 循环4次 找出次大数 放在最大数前 4 余此类推 经过5轮 将6个数排序输出 所以 外循环为i 0 4 内循环为 j 0 5 i 即 for i 0 i 5 i for j 0 j 6 i j if a j a j 1 a j a j 1 6 1 3一维数组应用实例 程序 includevoidmain inta 10 i j k printf 请任意输入10个整数 n for i 0 ia j 1 k a j a j a j 1 a j 1 k printf 按由小到大的顺序输出10个整数是 n for i 0 i 10 i printf d a i printf n 6 1 3一维数组应用实例 冒泡法 例4用选择法排序 将任意十个数按由小到大的方式排序 例 第一轮 第一次 682931 682931 286931 第二次 思路 通过比较和交换 将符合要求的小数放在前面 每轮确定一个数 以后在剩下的数中依次解决 6 1 3一维数组应用实例 286931 第三次 286931 第四次 186932 第五次 程序 main inta 11 i j k printf 请任意输入10个整数 n for i 1 i 11 i scanf d 6 1 3一维数组应用实例 选择法 例5 把一个整数依序插入已排序的数组 设数组已按从大到小顺序排序 分析 设已排序的数有10个 放在数组a中 待插入的数存放在x中 欲将数按顺序插入到数组中 只需满足 a i x a i 1 如 在整数序列20 18 16 14 12 10 8 6 4 2中插入15 成为20 18 16 15 14 12 10 8 6 4 2 程序如下 main ints t x a 11 printf 给数组由大到小赋值 n for s 0 s a s x a 3 t s t 3 break 查找x的插入点 continue for s 10 s t s 将从插入点开始的数向后移 a s a s 1 a t x printf n输出 n a s for s 0 s 10 s printf d a s printf n ints t x a 11 i printf 给数组由大到小赋值 n for s 0 s a s t s break for s 10 s t s a s a s 1 a t x for i 0 i 11 i printf d a i 例6 求Fibonacci数列前20项 分析 该数列第一项为1 第二项为1 从第三项起为前两项的和 11235 程序如下 includevoidmain inti intf 20 1 1 for i 2 i 20 i f i f i 2 f i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 10891-2025制冷系统及热泵环境适应性要求
- 2026年中国铝蒸饭器行业市场前景预测及投资价值评估分析报告
- 2026广西百色那坡县人民医院人才招聘36人笔试考试参考试题及答案解析
- 2025四川宜宾市屏山县住房和城乡建设局第二次招聘编外聘用人员1人笔试考试备考试题及答案解析
- 2025山东德德州天衢建设发展集团有限公司招聘工作人员20人考试笔试备考题库及答案解析
- 2025恒银期货有限公司校园招聘5人考试笔试备考题库及答案解析
- 2025年甘肃省平凉市灵台县上良镇文化站管理员招聘笔试考试参考试题及答案解析
- 消化内科慢性胃炎症状管理方案
- 麻醉科全麻术前检查流程
- 2026年四川体育职业学院单招职业技能考试题库必考题
- 大专口腔医学职业规划书
- 铁路职业生涯规划书
- 溶血性链球菌
- 【基于单片机的定时智能药箱设计(论文)7700字】
- 湖北省十堰市2024年七年级上学期语文期中考试试卷【附答案】
- 酒店全员安全生产责任制
- 数字政府建设课件
- 《广播电视技术》考试复习题库(含答案)
- 2024年人教版八年级上册历史全书知识
- 贵阳市2025届高三年级摸底考试英语试卷(含答案)
- 2024中考真题抢先练记叙文阅读 试卷(含答案解析)
评论
0/150
提交评论