C_C程序设计李云峰第5章节利用数组编程幻灯片.pptVIP

C_C程序设计李云峰第5章节利用数组编程幻灯片.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 馋死 PPT研究院 POWERPOINT ACADEMY * * §5.4 数组作为函数参数 数组可以做函数参数使用,即数组元素、数组名、多维数组、字符数组做函数的参数,实现函数间的数据传递。 数组由数组名、数组下标、数组元素(数组值)组成。其中,数组元素和数组下标可以做函数实参,数组名可以做实参和形参。 5.4.1 一维数组作函数参数 1、一维数组元素作函数实参 数组元素的作用与变量相当,一般地说,凡是变量可以出现的地方,都可以用数组元素代替。因此,数组元素也可以用作函数实参,其用法与变量相同,也把实参的值传给形参,是“值传递”方式。 由于数组是一个整体,在内存中占用连续的一段存储单元,而形参是在函数被调用时临时分配存储单元的,不可能为一个数组元素单独分配存储单元,因此数组元素只能用作函数的实参而不能用作形参。 【实例5-6】输入10个数,要求输出其中值最大的元素和该数是第几个数。 [程序实现] #includestdio.h int main() { int max(int x,int y); int a[10],m,n,i; printf(“Please input 10 integer numbers:\n”); for(i=0;i10;i++) scanf(“%d”,a[i]); printf(“\n”); for(i=1,m=a[0],n=0;i10;i++) { if(max(m,a[i])m) { m=max(m,a[i]); n=i; } } printf(“The largest number is %d\ n it is the %dth number. \n”,m,n+1) } int max(int x,int y) { return(xy?x:y) } [运行程序] Please input 10 integer numbers: 9 13 0 -8 93 56 78 -43 -97 77 The largest number is 93 it is the 5th number. 5.4.1 一维数组作函数参数 2、一维数组名作函数参数 数组元素的值传递方式适合部分数组元素传递和元素较小的数组传递。当一个数组的元素很多时,如果仍然采用数组元素的复制方式传送参数值,就会很不方便, 【实例5-7】有一个一维数组score,内放10个学生成绩,求平均成绩。 [问题分析]用一个函数average来求平均成绩,不用数组元素作为函数实参,而是用数组名作为函数实参,形参也用数组名。在average函数中引用各数组元素,求平均成绩并返回main函数。 5.4.1 一维数组作函数参数 [程序实现] #includestdio.h float average(float array[10]); int main() { float score[l0],aver;int i; printf(“Please input 10 scores:\n”); for(i=0;i10;i++) scanf(“%f,score[i]); printf(“\n”); aver=average(score); printf(“average score is %5.2f\n”,aver); } 5.4.1 一维数组作函数参数 float average(float array[10]); { int i;float aver,sum; sum=array[0]; for(i=l:il0;i++) sum=sum+array[i]; aver=sum/10; return(aver); } [运行程序] Please input 10 scores: 98 87 76 83 95 97 78 63 100 78 average score is 85.5 5.4.1 一维数组作函数参数 【实例5-8】 有两个班级,分别有35名和30名学生, 调用一个average函数,分别求这两个班的学生的平均成绩。 [问题分析] 实例5-7已解决了求一个确定长度的数组的平均值的问题, 本例需要解决的是怎样用同一个函数求两个不同长度的数组的平均值的问题。为此, 在定义average函数时不必指定数组的长度, 并且在形参表中增加一个整型变量i, 从主函数把数组的实际长度分别从实参传递给形参i。这个i用来在average函数中控制循

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档