编程基础——C语言PPT课件(共10章)项目六-利用数组处理批量数据.pptxVIP

编程基础——C语言PPT课件(共10章)项目六-利用数组处理批量数据.pptx

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目六 利用数组处理批量数据任务17 计算选手得分——一维数组任务18 打印杨辉三角——二维数组任务19 恺撒加密——字符数组任务17 计算选手得分——一维数组任务描述: 编写程序,计算选手得分(十分制),选手得分为去掉一个最高分和一个最低分之后的平均分,假设有11位评委。要求屏幕上先输出各位评委给出的分数,再输出最终得分。任务分析:本任务如果不使用数组也能实现,但是需要输入、输出、求最大值最小值和求和在一个循环里同时完成,未免有些“手忙脚乱”。而使用一维数组则可以按照输入→计算→输出的顺序有条不紊地进行,使得编程更贴合人们的思维习惯,大大提高程序可读性。任务17 计算选手得分——一维数组6.1 一维数组的定义与引用1. 一维数组的定义定义一维数组的一般形式如下:类型 数组名[整型常量表达式];例如:int a[5];(1)“类型”为任意合法的数据类型,表示数组元素的数据类型。(2)“数组名”与变量名一样是标识符,因此数组名遵循标识符的命名规则。(3)“整型常量表达式”表示数组元素的个数,其中可以包含常量和符号常量,不能包含变量,也就是说C语言不允许对数组作动态定义。任务17 计算选手得分——一维数组6.1 一维数组的定义与引用2. 一维数组的引用对于整型、浮点型的数组,C语言规定只能逐个引用数组元素而不能一次引用整个数组。数组元素的引用格式为:数组名[整型表达式](1)“整型表达式”为数组元素的下标,C语言规定数组下标从0开始。如刚才定义的int a[5]一共有5个数组元素,分别为a[0]、a[1]、a[2]、a[3]、a[4]。(2)此处的“整型表达式”与数组定义时的“整型常量表达式”不同,这里整型表达式中可以含有变量。任务17 计算选手得分——一维数组6.1 一维数组的定义与引用例如: int a[10],i;for(i=0;i10;i++)scanf(“%d”,a[i]);(1)在for语句中,i的初值从0开始到9结束,这与项目五中的循环结构有所不同,这正是因为数组元素的下标是从0开始的。(2)输入语句中有对数组元素的引用a[i],这里的i是变量,这是一种很常用的数组元素引用形式。a[i]是数组元素a[i]的存储地址。任务17 计算选手得分——一维数组6.1 一维数组的定义与引用3. 一维数组的存储数组被定义后,C编译系统就在内存中为它分配了一段连续的存储空间,按照数组元素的下标依次存储。例如:short a[5];假设系统分配给数组a的起始地址是1000,那么1000和1001两个字节就用于存放a[0],依次类推,如图所示:任务17 计算选手得分——一维数组6.2 一维数组的初始化(1)给所有元素赋初值。例如:int a[5]={2,5,8,6,9};给所有元素赋初值时,数组长度可省略不写。以上定义可改写为:int a[]={2,5,8,6,9};(2)给部分元素赋初值。例如:int a[5]={2,5};此时a[0]初值为2,a[1]初值为5,a[2]、a[3]、a[4]初值为0。任务17 计算选手得分——一维数组6.2 一维数组的初始化数组初始化时还有以下几点需要注意:(1)赋初值时{ }中值的个数不能超过数组的长度。如果初值个数多于数组长度,有的编译器会忽略多余的初值,有些编译器会给出出错信息。(2)如果初值的类型与数组类型不一致,编译系统会把初值类型转换成数组类型进行赋值。例如:int a[5]={1.5,5,8,6,9};则数组元素a[0]初值为1。(3)所谓“数组初始化”是指在定义阶段赋值,所以不能在定义数组之后再用初始化的方式赋值。任务17 计算选手得分——一维数组任务实施:for(i=1;iN;i++) {sum+=a[i]; if(a[i]max) max=a[i]; if(a[i]min) min=a[i]; } printf(每位评委给出的分数是:\n); for(i=0;iN;i++) printf(%6.2f,a[i]);printf(\n去掉一个最高分%6.2f,去掉一个最低分%6.2f,选手最后得分%6.2f,max,min,(sum-max-min)/(N-2));}#include stdio.h #define N 11main(){ int i; float min,max,sum,a[N]; printf(请输入评委给出的分数:\n); for(i=0;iN;i++) scanf(%f,a[i]); sum=min=max=a[0]; 任务17 计算选手得分——一维数组任务总结:本任务使用一维数组按照输入→计算→输出的顺序有条不紊地完成了选手成绩的计算。本任务还可以换一种计算最大值最小值的思路来简化程序:完成输入后将0赋值给max,将10赋值给min,可以将计算过程和输出

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档