版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孩子抚养协议书范文
- 企业法人转让协议书
- 手房买卖合同协议电子版
- 2024年度企业碳足迹评估与减排合同3篇
- 手房房屋买卖合同
- 广告代理合作的协议书
- 铝合金船体建造与购买合同(2024版)
- 农产品加工2024年度生产线改造合同
- 门面房装修设计与施工合同(2024版)
- 《高效率早会教材》课件
- 2024榆林粮食和物资储备集团有限公司招聘(6人)笔试备考题库及答案解析
- 2024年劳务员考试题库【夺冠】
- 2024届高考高考英语高频单词素材
- 安全事故管理考核办法范本(2篇)
- 人教版四年级上册数学第六单元《除数是两位数的除法》测试卷及完整答案
- 英语-重庆市(重庆南开中学)高2025届高三第三次质量检测试题和答案
- 中国咳嗽基层诊疗与管理指南(2024年)解读
- DB11-239-2021 车用柴油环保技术要求
- 三好学生竞选17
- 认养树的合同(2篇)
- 第四单元(整体教学课件)七年级语文上册大单元教学名师备课系列(统编版2024)
评论
0/150
提交评论