- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 尚辅网 第五章 数 组 教学目标 认识使用数组的必要性; 掌握一维数组的定义和使用; 熟悉二维数组的定义和使用; 掌握字符数组和字符串函数的应用; 学会使用数组解决实际问题的方法。 教学重点 一维数组、二维数组、字符数组的应用。 教学难点 二维数组的使用。 3.程序代码 #include stdio.h void main() /*定义40个浮点型变量分别保存每位同学的成绩*/ { float score1,score2,……,score40,average; scanf(%f,score1); /*从键盘输入成绩*/ scanf(%f,score2); …… scanf(%f,score40); printf(pass-fail numbers:\n); if(score1 60) /*输出成绩不及格学生的学号*/ printf(1); if(score260) printf(2); …… if(score4060) printf(40); } 由此可见,当需要处理大量数据时,使用基本类型的变量就显得力不从心,运用数组可以解决这类问题。 一维数组的定义形式: 数据类型名 数组名 [元素个数]; 例如: int age[10]; char sex[20]; 不同于变量,编译系统为数组分配的是连续的存储空间,这也是数组使用方便的根本原因。 运行以下程序,输出score数组中各数组元素的地址。 #include stdio.h main() { int i; float score[40]; for(i=0;i40;i++) { if(i%8==0) /*每行输出8个地址*/ printf(\n); printf(%x ,score[i]); / *按十六进制形式输出数组元素地址*/ } } 运行结果: 5.2.2一维数组元素的引用和初始化 1.一维数组元素的引用 float score[40];/*定义数组保存40名同学的成绩*/ int i; for(i=0;i40;i++) scanf(“%f”,score[i]); /*输入第i位同学的成绩*/ 数组元素的引用形式:数组名[下标] 说明: (1)下标是数组元素的序号,下标从零开始。 (2)下标不能“越界”,即下标不能取“0”到“元素个数-1”之外的数,例如语句“printf(%f, score[40])”是错误的。 2.一维数组元素的赋值 (1)初始化赋值 即在声明数组的同时,对数组赋值,例如: floatscore[10]={ 80.1,71.5,62.2,73.2,74.0,65.5,86.0,77.0,98.5,69.5 }; (2)使用赋值语句 例如:语句“score [0]=100;” 。 (3)动态赋初值 就是在程序运行过程中赋值, 例如语句“for(i=0;i40;i++) scanf(“%f”,score[i]);”。 5.2.3使用数组实现引例 1.程序代码 #include stdio.h #define NUM 40 main() { float score[NUM]; /*定义数组保存成绩*/ int i; printf(\nEnter %d students\scores\n,NUM); for(i=0;i NUM;i++) /*输入40位同学的成绩*/ scanf(%f,score[i]); printf(failed numbers:); for(i=0;i NUM;i++) /*输出成绩不及格学生的学号*/ if(score[i] 60) printf(%d , i+1); } 5.2.4 一维数组应用举例 【例5-1】找出 C语言课程的单科奖学金获得者及其成绩。 1.问题分析 (1)假设某班有40名同学,单科奖学金的评定标准是获得单科成绩第一名。定义数组score保存成绩,用“下标+1”表示学号,只要找出最大元素的下标,并输出相应的元素值,就可得到单科奖学金获得者的学号和成绩。 (2)从寻找最大元素的下标入手,寻找过程如图5-2所示:用变量max记录已经参加比较的数中最大元素的下标,令max初始值为0,即假设score[0]为最大元素;然后将score[max]与score[1]比较,由于score[1]>score[max],即在当前已参加比较的元素中,score[1]最大,因此max=1;继
您可能关注的文档
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境四.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境五.ppt
- 基础会计实训 教学课件 作者 李金茹 赵宁 温艳红 学习情境一.ppt
- 基础会计实训 项目二 记账凭证实训.pdf
- 基础会计实训 项目三 会计账簿实训.pdf
- 基础会计实训 项目四 会计报表实训.pdf
- 基础会计实训 项目五 会计基本账务处理综合实训.pdf
- 基础会计实训 项目一 原始凭证实训.pdf
- 基础会计习题集 教学课件 作者 周会林.doc
- 基础会计习题集 习题答案 作者 周会林 项目八答案.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch6.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch7.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch8.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch9.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 课件 ch10.ppt
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验二任务书.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验七任务书.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验三任务书.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验十任务书.doc
- 基于任务驱动的C语言程序设计 高职计算机大类专业 李祥林 实验任务书 实验一任务书.doc
文档评论(0)