版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8.1.2数组名作函数参数除了可以用数组元素作为函数参数外,还可以用数组名作函数参数(包括实参和形参)注意:用数组元素作实参时,向形参变量传递的是数组元素的值;用数组名作函数实参时,向形参
传递的是数组首元素的地址。8.1.2数组名作函数参数除了可以用数组元素作为函数参数外,18.1.2数组名作函数参数
例7.10有一个一维数组score,内放10个学生成绩,求平均成绩。解题思路:用函数average求平均成绩,用数组名作为函数实参,形参也用数组名在average函数中引用各数组元素,求平均成绩并返回main函数8.1.2数组名作函数参数例7.10有一个一维数组sc2#include<stdio.h>intmain(){floataverage(floatarray[10]);
floatscore[10],aver;inti;printf("input10scores:\n");for(i=0;i<10;i++)scanf("%f",&score[i]);printf("\n");aver=average(score);printf("%5.2f\n",aver);return0;}定义实参数组#include<stdio.h>定义实参数组3score[0]score[1]score[2]score[3]score[4]score[5]score[6]score[7]score[8]score[9]67.589.59969.57789.576.5546099.5array[0]array[1]array[2]array[3]array[4]array[5]array[6]array[7]array[8]array[9]执行到语句aver=average(score)时:score[0]score[1]score[2]score[4score[0]score[1]score[2]score[3]score[4]score[5]score[6]score[7]score[8]score[9]67.589.59969.57789.576.5546099.567.589.59969.57789.576.5546099.5array[0]array[1]array[2]array[3]array[4]array[5]array[6]array[7]array[8]array[9]×score[0]score[1]score[2]score[5score[0]score[1]score[2]score[3]score[4]score[5]score[6]score[7]score[8]score[9]67.589.59969.57789.576.5546099.5array&score[0]array[i]相当于score[i]score[0]score[1]score[2]score[6floataverage(float
array[10]){inti;floataver,sum=array[0];for(i=1;i<10;i++)sum=sum+array[i];aver=sum/10;return(aver);}定义形参数组相当于score[0]相当于score[i]floataverage(floatarray[10])7
例7.11有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。例7.11有两个班级,分别有35名和30名学生,调用8解题思路:需要解决怎样用同一个函数求两个不同长度的数组的平均值的问题定义average函数时不指定数组的长度,在形参表中增加一个整型变量i从主函数把数组实际长度从实参传递给形参i这个i用来在average函数中控制循环的次数为简化,设两个班的学生数分别为5和10解题思路:9#include<stdio.h>intmain(){floataverage(floatarray[],intn);floatscore1[5]={98.5,97,91.5,60,55};floatscore2[10]={67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};printf(“%6.2f\n”,average(score1,5));printf(“%6.2f\n”,average(score2,10));return0;}#include<stdio.h>10floataverage(floatarray[],intn){inti;floataver,sum=array[0];for(i=1;i<n;i++)sum=sum+array[i];aver=sum/n;return(aver);}调用形式为average(score1,5)时相当于score1[0]相当于score1[i]相当于5floataverage(floatarray[],i11floataverage(floatarray[],intn){inti;floataver,sum=array[0];for(i=1;i<n;i++)sum=sum+array[i];aver=sum/n;return(aver);}调用形式为average(score2,10)时相当于score2[0]相当于score2[i]相当于10floataverage(floatarray[],i127.7.3多维数组名作函数参数
例7.13有一个3×4的矩阵,求所有元素中的最大值。解题思路:先使变量max的初值等于矩阵中第一个元素的值,然后将矩阵中各个元素的值与max相比,每次比较后都把“大者”存放在max中,全部元素比较完后,max的值就是所有元素的最大值。7.7.3多维数组名作函数参数例7.13有一个3×4的13#include<stdio.h>intmain(){intmax_value(intarray[][4]);inta[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};printf(“Maxvalueis%d\n”,
max_value(a));return0;}可以省略不能省略要与形参数组第二维大小相同#include<stdio.h>可以省略不能省略14intmax_value(intarray[][4]){inti,j,max;max=array[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年洪雅县事业单位面试题库及答案
- 2025年舞蹈学专业知识面试题库及答案
- 2025年广州社区居委会笔试题及答案
- 2025年剑心文案策划笔试及答案
- 2025年-加州考驾照笔试题库及答案
- 2025年周南中学数学笔试题及答案
- 2025年扶绥县五类人员面试题库及答案
- 营养与食品卫生学模拟试题+参考答案
- 雪梨的课件边框
- 广东省汕头市金平区2026年中考一模化学试题附答案
- (2025年)焊工(初级)考试题库及答案
- 终末期患者恶心呕吐的护理干预策略优化研究
- 田地种菜出租合同范本
- 2025-2030传统滋补品现代化转型与年轻化营销及投资价值研判
- 急性前壁再发心肌梗死的护理查房
- 谈恋爱被骗民事起诉状范本
- LY/T 2111-2013美国白蛾防治技术规程
- 2023人教版新教材高一英语必修二全册单词表(精编打印)
- 十五篇文章贯穿英语四级词汇
- 东富龙冻干机计算机系统验证方案
评论
0/150
提交评论