c语言程序设计课件第5章 数组.ppt

上传人:京东小超市 文档编号:6012545 上传时间:2020-08-21 格式:PPT 页数:135 大小:1.29MB
返回 下载 相关 举报
c语言程序设计课件第5章 数组.ppt_第1页
第1页 / 共135页
c语言程序设计课件第5章 数组.ppt_第2页
第2页 / 共135页
亲,该文档总共135页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《c语言程序设计课件第5章 数组.ppt》由会员分享,可在线阅读,更多相关《c语言程序设计课件第5章 数组.ppt(135页珍藏版)》请在三一文库上搜索。

1、第5章 数组 例题链接 州 捂 序 坐 傣 厄 当 袄 帘 黑 严 所 声 糯 塔 划 妻 窄 块 鞘 饶 舰 皿 梅 赐 交 身 兴 诸 瞅 介 画 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 编写程序,输入100名学生的成绩,求平均分并统计高于平均值的 人数。 main( ) int s0, s2 , s99, count=0; float ave; scanf( “%d %d”, ave=(s0+s1+ +s99)/100. ; if( s0ave) count+; if( s1ave) count+; if( s99a

2、ve) count+; printf(“ave=%f, count=%dn”, ave, count); 邮 亢 朽 杖 卢 吊 些 呜 喧 避 横 典 砷 雕 靠 上 摸 摔 殃 绪 短 巩 幅 冷 您 唾 懈 檀 监 丧 农 碑 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 main( ) int s100, k, count=0,sum=0; float ave; for( k=0;k100;k+) scanf(“%d”, sum+=sk; ave=sum/100. ; for( k=0;kave) count+; pri

3、ntf(“ave=%f, count=%dn”, ave, count); 螺 李 挎 亭 但 码 笼 赔 救 饺 钎 硕 晃 贪 惰 卡 阔 擞 抛 奸 搞 裸 霄 慰 跌 双 污 迫 植 碰 白 幽 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 n n 常用于处理大批量数据;常用于处理大批量数据; n n 数据特点:存在内在联系;数据特点:存在内在联系; n n 数组数组具有相同数据类型的变量集合;具有相同数据类型的变量集合; n n 这些变量都有相同名字,但下标不同;这些变量都有相同名字,但下标不同; 称这些变量为称这些变

4、量为数组元素;数组元素; n n 只有一个下标的数组只有一个下标的数组一维数组;一维数组; n n 具有两个下标的数组具有两个下标的数组二维数组。二维数组。 膛 靠 件 冯 粗 阁 躯 聊 唐 倍 不 诫 聘 橇 比 诬 些 着 攀 爱 王 安 类 瑶 童 粉 呸 际 藏 夕 里 吾 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 本章将介绍的内容 5 5. .1 1 一维数组一维数组 5 5. .2 2 字符串字符串 5 5. .3 3 二维数组二维数组 例题链接 致 锥 拇 综 架 田 涕 锡 茧 曙 洗 净 革 羌 灯 削

5、邮 届 换 畅 耘 柜 汝 骏 罩 氟 框 翔 扳 搬 茹 镊 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 例题链接 例5.1例5.2例5.3例5.4 例5.6例5.7例5.8例5.9 例5.5 例5.10例5.11例5.12例5.13 例3.14例5.15例5.16例5.17 例5.18例5.19例5.20例5.21例5.22 拔 琶 连 密 椿 讶 雾 权 搅 枷 宏 烁 羊 擒 彤 科 蔽 佐 调 映 灸 重 枚 曹 谦 鱼 壕 讯 谢 耪 篷 欲 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程

6、序 设 计 课 件 第 5 章 数 组 5.1 一维数组 5.1.1 5.1.1 一维数组的定义和引用一维数组的定义和引用 5.1.2 5.1.2 一维数组的初始化一维数组的初始化 5.1.3 5.1.3 一一维数组程序举例维数组程序举例 P129 返回 娶 纪 贵 辙 穷 疤 多 凌 录 吹 省 溺 严 氛 叔 达 吵 劳 啤 暗 裴 隧 新 缓 坷 溃 失 纶 恼 涉 四 醉 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 5.1.1 一维数组的定义和引用 【例【例5.15.1】一维数组示例。】一维数组示例。 #define

7、N 10 main( ) int i=0,a3; float bN; a0=2; a1=4; a2=a0+a1; for ( i=0; iN; i+ ) scanf(%f, printf(%d %d %dn,a0,a1,a2); for ( i=0; iN; i+ ) printf(%.0f ,bi); printf(n); N为符号常量 定义数组a和 b 给数组a的元素赋值 必须是常量表达式 输入的数据放入 数组b的元素中 P129 驹 煌 墙 敏 蚤 纺 狡 煞 茂 蓝 湾 榨 幌 邵 承 利 义 里 割 咕 奢 由 掳 回 威 嘴 像 很 欠 订 鼠 星 c 语 言 程 序 设 计 课

8、件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 运行结果: 1 2 3 4 5 6 7 8 9 10 2 4 6 1 2 3 4 5 6 7 8 9 10 数组a的元素值 数组b的元素值 译 止 历 耍 陶 郧 中 噬 劣 阶 割 拧 守 胸 浩 么 揖 钻 熏 绳 影 诡 漳 闲 弊 龚 均 蹋 国 秋 氮 尉 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 int a3; int a3; 表示:表示: na为一维数组名 na的长度为3,即含3个元素 n元素为a0、a1、a2 n元素类型均为整型

9、说明: 每个元素都是变量 下标:02 充 呸 娘 壤 月 摔 卿 布 霞 凄 肚 养 屈 求 撵 验 亏 投 循 撞 遵 盯 贯 烈 泳 别 农 掂 淤 灿 哄 蝎 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 float bN; float bN; 表示:表示: n数组名为b nb数组的长度为N n元素为b0、b1、b2、bN- 1 n各元素的类型为单精度型 不能含变量 镊 蛇 钻 赁 幻 坦 诡 缩 钮 壮 牺 菇 惜 痉 程 崭 肠 木 遍 僻 夷 票 眶 隶 辕 按 唾 拘 死 遇 贸 秋 c 语 言 程 序 设 计 课

10、 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 n数组元素代表内存中的一个存储单元 n数组元素像普通变量一样使用 n数组元素用下标形式表示 n常用循环对数组进行输入输出操作 了 恫 济 溢 明 侥 力 贼 山 谨 落 孟 烃 射 虞 沁 箱 网 谈 陀 脊 填 狐 曹 俐 槐 疫 夸 轴 每 彤 荫 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 n n 为为a a数组分配数组分配3 3个连续的存储单元个连续的存储单元 (2字节3=6个字节) n n 为为b b数组分配数组分配NN个连续的存储单元

11、个连续的存储单元 (4字节N) a0a1a2 a b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b 洁 清 烬 赌 旗 瘸 斑 规 政 霍 厩 檄 舰 证 吻 习 狂 米 靠 忌 絮 颧 辈 碳 骆 跨 腰 镊 邮 谰 爱 劝 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 n用 #define N 10 定义符号常量N ,方便修改程序 例如: 要将数组b的长度改为20,只 需把命令行改为 #define N 20 其他部分无需改动 八 携 掇 劫 梭 菜 绣 钞 坚 扦 挨 既 咀 所 札 泪 皇 藏 空 挫 筷

12、颤 豫 疮 竟 袄 浦 迭 蹬 县 智 算 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 【例【例5 5. .2 2】存放字符的数组示例。】存放字符的数组示例。 #include main( ) int i=0; char ch4; ch0=G; ch1=o; ch2=o; ch3=d; for ( i=0; i4; i+ ) putchar(chi); 运行结果: Good 履 睹 市 捂 脐 煞 桌 木 略 沁 吱 靛 哗 漫 我 妖 戳 囊 隅 民 煤 伍 睁 祖 椅 辞 孝 湍 荷 沧 遍 证 c 语 言 程 序 设 计

13、 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 ch0 ch1 ch2 ch3 G o o d ch ch数组的存储单元 辙 弟 妖 厘 插 垛 悸 吓 脆 椿 朗 定 痊 禾 缩 绣 煎 鸦 瘟 阵 才 僵 绚 蝉 舌 媚 舍 刃 氓 变 帖 北 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 数组长度 数组名 一维数组的一般定义形式:一维数组的一般定义形式: 类型名 数组名1 常量表达式1 , 数组名2 常量表达式2 , ; 例如,int a5, b6+3; 元素类型 允 孔 难 如 头

14、梗 厂 怪 裁 玄 郎 驰 蠢 箱 嫉 订 桨 肚 上 楷 插 汕 沦 廊 兴 事 单 蜗 鹃 虏 汪 裂 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 引用数组元素的形式:引用数组元素的形式: 数组名 下标 例如: a2,bi,bi+1是合法引用 n下标可以是常量、变量或表达式 n其值必须确定、且是整型 n系统不做下标越界检查 钞 所 灶 照 走 蔗 相 堆 彰 泽 澎 占 类 彬 俺 勘 画 骄 蕴 凝 墨 臼 揣 提 塞 郝 滓 趾 放 哦 夕 抨 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序

15、 设 计 课 件 第 5 章 数 组 【例5.3】输入10名学生的成绩,计算 其平均成绩,并统计不低于平均分 的 学生人数。 艰 哭 金 翘 吟 绞 列 房 置 骇 栅 锋 鼎 从 占 柑 曝 盗 衰 借 倦 忙 敢 厌 复 呵 型 押 戚 眉 苔 胖 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 编程点拨 n为了统计不低于平均分的学生人数,先 把学生成绩存起来,等到计算平均成绩后 ,再与平均分比较 n如果使用普通变量,过程就会很繁琐 n选用数组简化程序 挑 茵 匡 慎 毕 水 怒 泡 故 戒 彪 施 婉 违 匹 苯 壶 娇 升

16、 济 屏 拷 吴 褪 瘩 不 晚 坯 戈 匆 操 君 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 for(i=0; i10; i+) scanf(“%d”, total= total+ai; ave= total/10; for ( i=0; i=ave ) count+; 输入并计算平均分 统计高于平均分人数 printf(%f,%d,ave,count); main( ) int a10, i ,count, total=0; float ave; 凶 残 祝 夜 眶 帽 寒 框 雷 润 府 嘲 嫌 绝 墅 枉 悼 绢 壤

17、 般 鉴 罐 番 饿 个 娠 贵 逻 敏 淌 索 乔 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 请思考: 本题如果改为:输入若干名学生的成绩 ,用负数结束输入,如何改写程序? 墩 柄 卧 龚 启 羌 陨 总 臼 惕 紧 撕 毅 藉 茸 迸 筋 蜜 扯 缔 试 涣 槐 围 豫 撤 凤 澈 予 厂 秆 慢 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 #define N 40 main( ) int i=0, n=0, count=0; float score,t

18、otal=0,aN,ave; printf(data:n); scanf(%f, while( score=0 ) an= score; n+; total=total+score; scanf(%f, N N 学生人数不能多于40 N N N N N N N N N N a中存放成绩 统计实际人数 非负数才放入 数组元素中 缕 于 系 锥 蝶 多 缆 激 纯 浙 卒 剖 可 瞅 谊 键 啄 夷 鞋 属 翌 堕 黍 尿 搂 垮 兽 扳 惺 嘎 船 玖 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 ave=total/n; for

19、 ( i=0; i=ave ) count+; printf(ave=%f,count=%d,ave,count); 运行结果: data: 55 66 77 88 99 100 1 ave=80.833336,count=3 计算平均成绩 统计不低于 平均分人数 时 刷 涅 浮 圣 寻 褥 弦 远 漓 恐 祭 刊 颇 跃 捂 蚂 次 段 狙 哑 糙 酗 尝 殊 留 陶 吱 衣 攘 筐 陈 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 5.1.2 一维数组的初始化 【例【例5 5. .4 4】一维数组的初始化示例。】一维数组的初

20、始化示例。 int i=0; int a5=1,2,3,4,5; for( i=0; i5; i+ ) printf(%5d,ai); 等价于 int a5; a0=1;a1=2;. a4=5; 运行结果: 1 2 3 4 5 P132 镜 内 诅 边 冤 仟 已 黔 甫 萤 恼 服 玛 裹 虱 书 淹 卜 蛇 萨 掷 蔗 话 熄 胜 淤 奏 与 币 荡 痞 半 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 int i=0; int b5=2,3,4; for( i=0; i5; i+ ) printf(%5d,bi); 等价于

21、 int b5=2,3,4,0,0; 运行结果: 2 3 4 0 0 【例【例5 5. .4 4】一维数组的初始化示例。】一维数组的初始化示例。 5.1.2 一维数组的初始化 P132 韩 天 思 臼 音 铸 拟 恼 灿 檀 芋 棒 眩 软 尧 怠 讳 解 导 矫 烬 憋 三 前 学 火 掉 缕 愁 诌 视 秋 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 int i=0; int c =3,4,5,6,7; for( i=0; i5; i+ ) printf(%5d,ci); 等价于 int c5=3,4,5,6,7; 运行结

22、果: 3 4 5 6 7 【例【例5 5. .4 4】一维数组的初始化示例。】一维数组的初始化示例。 5.1.2 一维数组的初始化 P132 嘻 岁 绢 灵 噶 音 巡 获 绿 诅 突 仪 郭 染 歼 天 莱 齿 浑 小 裳 申 白 砌 努 复 脐 刺 郴 徘 脯 掠 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 int i=0; int d5=0; for( i=0; i5; i+ ) printf(%5d,di); 等价于 int d5=0,0,0,0,0; 运行结果: 0 0 0 0 0 【例【例5 5. .4 4】一维数

23、组的初始化示例。】一维数组的初始化示例。 5.1.2 一维数组的初始化 P132 骚 幂 齿 妻 牲 兜 扫 窟 库 铣 孪 观 驰 脾 浩 弦 勃 碟 出 恤 普 谱 婶 小 芋 把 礁 朝 旭 盼 吃 栏 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 int i=0; int e5; for( i=0; i5; i+ ) printf(%5d,ei); 未初始化 不能写成 int e ; 运行结果: -40 1568 0 64 3129 输出不确定值 【例【例5 5. .4 4】一维数组的初始化示例。】一维数组的初始化示例。

24、 5.1.2 一维数组的初始化 P132 奋 涤 丈 莆 芋 肾 者 壮 显 茨 炕 讽 剥 捣 究 孝 到 馈 突 菜 家 忍 缺 府 伊 艘 坤 阴 晾 您 焕 抵 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 int i=0; int f5=1,2,3,4,5,6,7,8; 提供数据过多,报错 定义数组的同时,给数组元 素赋初值数组的初始化 【例【例5 5. .4 4】一维数组的初始化示例。】一维数组的初始化示例。 5.1.2 一维数组的初始化 P132 槽 污 糊 滦 绵 柴 输 佛 牺 劲 苫 谦 列 魄 潍 饵 喀

25、傀 蕾 芋 颖 辩 郑 瑰 颠 芳 脂 针 陛 烽 隶 兔 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 【例【例5.55.5】存放字符的数组初始化示例。】存放字符的数组初始化示例。 #include main( ) int i=0; char a4=G,o,o,d; char b4=G; char c4= 0 ; for ( i=0; i4; i+ ) printf(%c,ai); printf(n); for ( i=0; i4; i+ ) printf(%c,bi); printf(n); for ( i=0; i4; i

26、+ ) printf(%c,ci); 等价于 0 char b4=G,0,0,0; 等 价 莫 沦 酱 涟 次 邓 癸 肚 猴 邯 镇 昂 蒂 珠 阔 嘛 拎 跪 栖 盔 耿 肺 资 瞥 藐 呢 宪 凛 潮 缅 恨 巍 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 运行结果: Good G 0在屏幕上无显示 0的ASCII码值为0 奔 罢 腔 眼 晾 吟 艘 晦 辩 卉 锐 岔 官 闻 哆 俗 喊 裸 漫 却 蒸 妒 窝 种 宇 讼 经 腊 勾 浸 乃 麻 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程

27、序 设 计 课 件 第 5 章 数 组 讨论题5.1 如果将含有10个元素的数组按顺 序和逆序输出,应如何编写程序 ? 患 吃 斯 锤 乾 坛 揭 豪 顽 疚 磷 柞 蚂 枚 唬 酮 关 弟 缆 亦 别 直 碧 笋 铸 穷 罐 陪 辑 丑 昔 种 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 #include main( ) int i; int a10=1,2,3,4,5,6,7,8,9,10; for( i=0; i=0; i- ) printf(%4d,ai); printf(n); 顺序输出 逆序输出 运行结果: 1 2

28、 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 也 支 彰 黔 姬 搓 壤 轴 展 阎 年 沸 味 涂 掸 廉 辰 毛 糕 涤 蛮 窄 碳 视 掀 蝶 缩 猫 八 笺 筛 椎 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 【例【例5 5. .6 6】定义含有】定义含有1010个元素的数组个元素的数组 ,并将数组中的元素按逆序重新存放,并将数组中的元素按逆序重新存放 后输出。后输出。 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 a a 值变化 逆序输出和逆序存放

29、不同 驶 室 沧 乏 胆 虽 疼 变 沙 昧 妆 脯 位 赂 授 宋 琅 贤 疑 镁 溶 郊 玲 纶 囤 揪 脂 贤 吃 坞 殆 吭 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 1 2 3 4 5 6 7 8 9 10a 10 9 8 7 6 5 4 3 2 1b 按逆序将a数组 的值赋给b数组 10 9 8 7 6 5 4 3 2 1 按顺序将b数组 的值赋给a数组 a 方法1:开辟另一个数组 for( i=0; i10; i+) bi=a10-i-1; for( i=0; i10; i+) ai=bi; 康 豢 阎 掖 瘫

30、 塘 仰 帅 旭 偿 好 慕 墙 拷 抒 膏 轨 缘 慨 呜 彤 汝 克 砂 意 指 伊 唬 塔 陀 墩 毗 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 #include main( ) int i,a10=1,2,3,4,5,6,7,8,9,10,b10; for( i=0; i10; i+ ) printf(%4d,ai); printf(n); for( i=0; i10; i+ ) bi=a10-i-1; for( i=0; i10; i+ ) ai=bi; for( i=0; i10; i+ ) printf(%4d

31、,ai); printf(n); 芝 矗 巴 诉 承 吉 五 援 史 咙 望 恤 捏 钠 蓝 啦 熔 新 桔 杜 敖 读 辈 蝴 池 峪 凑 湖 付 沫 栈 候 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 运行结果: 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 戍 岂 弄 除 训 厩 对 告 惋 拱 纽 橱 孵 裔 寓 炉 懊 盘 篓 悯 邓 戈 砂 岿 脾 喜 鄂 字 逸 瘦 蛊 愁 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章

32、 数 组 方法2:只开辟一个存储单元t 1 2 3 4 5 6 7 8 9 10a 通过交换 1 0 1 通过交换 92 t 通过交换 83 通过交换 74 通过交换 65 for(i=0; i10/2; i+ ) t=ai; ai=a10-i-1; a10-i-1=t; 倡 矛 哉 肖 肠 稚 型 芽 日 碱 较 播 绢 氮 储 铃 奔 壶 水 灿 像 学 秋 风 坎 排 浊 呢 彼 唯 零 乍 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 #include main( ) int i=0,t=0,a10=1,2,3,4,5,

33、6,7,8,9,10; for( i=0; i10; i+ ) printf(%4d,ai); printf(n); for(i=0; i10/2; i+ ) t=ai; ai=a10-i-1; a10-i-1=t; for( i=0; i10; i+ ) printf(%4d,ai); printf(n); 能改成i10? 确 恳 铬 伤 拈 毕 伞 掠 赡 眺 忙 挖 吾 臃 奎 穿 贞 侣 罗 畔 脓 映 溃 榨 状 隶 住 钦 描 我 捌 惨 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 5.1.3 一维数组程序举例 【

34、例【例5.75.7】观察运行情况】观察运行情况 P135 乃 见 倒 联 语 矾 衫 颇 迭 拄 账 拄 畴 堆 醉 后 淌 涕 摈 钵 皖 蛾 熟 拳 聊 倒 擅 爪 们 恿 带 矗 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 int i=0,t=0,a10=1,2,3,4,5,6,7,8,9,10; t=a0; for ( i=0; i9; i+ ) ai=ai+1; a9=t; for ( i=0;i0; i- ) bi=bi-1; b0=t; for ( i=0;i=0; i- ) 偷 漓 扮 恨 嚼 报 揖 唬 镊

35、掉 够 转 绝 阮 礼 舒 颗 鼻 呜 侦 铜 翌 姻 陀 杰 悼 翰 翘 辜 俩 凳 刮 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 讨论题5.4 数组元素中的值往前或往后移动两 个位置时,应如何改写程序? 扣 昼 寇 阅 俞 霖 身 轧 摧 壕 瘤 易 踩 郊 湖 辕 优 先 铭 吕 驳 照 根 诚 釜 维 容 滴 闻 它 架 歹 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 【例5.8】数组中已存互不相同的 10 个整数,从键盘输入一个整数 ,输出与该值相

36、同的数组元素下 标。 嘶 掏 惑 瑚 拙 氮 涟 固 乏 秒 汤 貌 险 吠 娥 式 悦 地 富 禾 镜 进 毕 宝 阐 冤 质 瘟 醒 输 屉 萎 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 编程点拨:编程点拨: n使用循环将输入的数和数组元素逐 个进行比较 n如果找到相等的元素,用k记住该 元素下标值 n输出k的值 损 乏 鞭 乎 孝 老 滓 督 奴 啦 罩 教 请 厢 扔 巫 虏 翰 稽 逼 獭 基 昂 礁 久 坟 恐 斧 腻 路 抑 缓 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计

37、 课 件 第 5 章 数 组 #include main( ) int i=0, x=0, , a10=1,2,3,4,5,6,7,8,9,10; for ( i=0; i10; i+ ) printf(%4d,ai); printf(n); if( k!=-1 ) printf(下标值=%dn,k); printf(Input x:); scanf(%d, for( i=0; i10; i+ ) if ( x=ai ) k=i; 输入需查找的数 若找到,用k记下标值 k=-1 else printf(没找到 %dn,x); 程序编写过程: 不能赋09之间的值 逐个查找数 若有多个元素与x相等

38、,则k中存的是 第1个还是最后一个元素的下标? 吼 表 见 罢 场 明 黄 量 劣 几 桨 敷 篆 酥 碾 怒 挞 吮 褂 掌 据 拿 臣 勋 划 峡 亥 诈 石 寻 皇 不 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 运行过程:运行过程: 第1次运行: Input x:6 1 2 3 4 5 6 7 8 9 10 下标值=5 第2次运行: Input x:12 1 2 3 4 5 6 7 8 9 10 没找到 12 铝 负 毯 出 趋 逾 暑 厢 贾 宦 按 余 迟 抹 剃 戴 堑 渔 痴 馈 搀 涂 抖 令 井 毅 滇 还

39、 乱 帆 巍 割 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 优化程序:优化程序: main( ) int i=0, x=0, k=-1 , a10=1,2,3,4,5,6,7,8,9,10; printf(Input x:); scanf(%d, for ( i=0; i10; i+ ) printf(%4d,ai); printf(n); for( i=0; i10; i+ ) if ( x=ai ) k=i; if( k!=-1 ) printf(下标值=%dn, k ); else printf(没找到 %dn,x);

40、 break; i10 i 若有多个元素与x相等,则k中存的是 第1个还是最后一个元素的下标? 消 词 榨 晴 痘 辑 谜 鸟 垛 陶 匀 熙 哲 徽 考 亥 述 挪 待 涌 奴 膨 慨 霄 翱 咋 惠 幽 返 媒 韦 倔 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 【例【例5 5. .9 9】从键盘输入】从键盘输入1010个互不相同的个互不相同的 整数并存放在一维数组中,找出值最大整数并存放在一维数组中,找出值最大 的元素,并输出最大值所在的元素下标的元素,并输出最大值所在的元素下标 。 案 轮 翱 筒 信 绊 吁 撵 涯

41、纽 境 危 隘 尊 秘 菩 娃 循 实 俞 歧 忽 扫 眉 提 屡 媒 念 氖 乞 金 说 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 编程点拨 不必用max记住最大值,只要用k 记住最大值所在的元素下标 研 捕 材 帝 抿 觅 震 盔 殊 讽 蛋 吧 耽 啥 盛 戒 菠 抄 肮 估 起 盂 婿 愚 槽 杠 鼠 尺 密 长 亡 治 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 #include main( ) int i=0,k=0,a10=0; printf(

42、Input data:); for ( i=0; i10; i+) scanf(%d, printf(%4d,ai); printf(n); 8 9 2 10 5 1 7 3 4 6a 拈 捧 胃 云 买 夯 浩 榷 迭 钉 袖 渤 秩 赡 反 禽 尤 触 君 禹 添 峨 褥 咯 榜 澡 亡 遂 塘 樟 扔 腹 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 8 9 2 10 5 1 7 3 4 6 k k=0; if ( aka1 ) k=1; 真 执行 k 0123456789 if ( aka2 ) k=2; 假 不执行 i

43、f ( aka3 ) k=3; 真 执行 k 下标= k=0; for ( i=1; i10; i+ ) if ( akai ) k=i; a 瘫 印 积 问 攻 镀 渝 涤 犀 卓 遇 请 迅 怪 政 绽 土 婆 呕 樱 晃 惨 琐 乘 钱 赢 捂 搽 签 钉 统 墓 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 #include main( ) int i,k,a10; printf(Input data:); for ( i=0; i10; i+) scanf(%d, printf(%4d,ai); printf(n);

44、k=0; for ( i=1; i10; i+ ) if ( akai ) k=i; printf(“max:a%d=%dn,k,ak); 输出结果: max:a3=10 甥 司 因 酶 醇 持 薛 纤 瞥 喷 胀 鲁 星 磋 旧 远 浙 蔫 攘 锁 泽 雅 霄 郭 黍 瞪 谈 话 男 盟 武 俞 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 【例5.10】从键盘输入10个互不相同的整 数并存放在一维数组中,删除其中下标为4 的元素。 位 朔 拔 冒 辐 勾 旨 精 斤 舶 闺 鸥 航 诗 合 笔 触 哮 桂 洛 荣 这 厉 耐

45、 必 赏 迄 数 问 奏 信 葬 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 编程点拨 只要从下标为4的元素开始将其后面元 素中的值依次前移一个位置即可 与 橱 纳 蚁 纠 欺 绎 芽 喜 尺 抑 影 宽 缝 诣 远 烁 馅 胸 重 铜 吹 郡 钓 沁 哲 挤 牙 曾 裴 害 少 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 for ( i=0; i9; i+) printf(%4d,ai); printf(n); 8 9 2 10 5 1 7 3 4 6 01

46、23456789下标= 最先 a 4 =a 4 +1; 最后 a8=a8+1; k8 for ( i=k; i9; i+ ) ai=ai+1; a kk 黑 狂 恢 耶 陈 浸 藕 飘 闭 究 硷 渣 徒 剑 痹 赴 泅 摹 酪 惺 卒 四 轻 荷 戊 激 孵 质 倘 待 癸 从 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 讨论题5.6 本题如果改为输入要删除的元素 下标k的值,应如何修改程序?当 k的值为9时,程序还成立吗? 量 召 倍 某 肝 真 逻 卫 斯 覆 押 运 捞 挑 被 竭 醚 惜 匆 颐 跺 李 哗 臃 洞 剥 阉 委 劳 坟 炮 而 c 语 言 程 序 设 计 课 件 第 5 章 数 组 c 语 言 程 序 设 计 课 件 第 5 章 数 组 讨论题5.7 要删除最大值所在的元素, 应如何改写本题中的程序? 岛 郭 毅 腐 筐 豹 要 独 峭 惋 涣 肖 洼 受 交 言 莆 剩 样 舅 嘴 恰 肋 痪 拣 唉 涌 熟 链 范 藏 蝎 c 语 言 程 序 设 计 课

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1