




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、5.3 函数调用与参数传递,5.3.3 数组参数 一维数组参数 例5-5 一维数组参数。 程序代码如下: #include void get_array(int a); /*声明函数原型*/ void print_array(int a); /*声明函数原型*/ void main() int x10; get_array(x); /*调用函数*/ print_array(x); /*调用函数*/ void get_array(int a) /*定义函数实现输入数组元素功能*/ int i; for(i=0;i10;i+) scanf(%d, ,5.3 函数调用与参数传递,void print
2、_array(int a) /*定义函数实现输出数组元素功能*/ int i; for(i=0;i10;i+) if(i % 5=0)printf(n); printf(%d,ai); 程序运行时输入1至10,则程序输出如下: 1 2 3 4 5 6 7 8 9 10 一维数组参数的定义和使用原则 一维形参数组的定义形式为:类型名 形参数组名,不用指定元素个数,但一对方括号不可缺少,否则无法说明该参数为一数组。 调用使用数组参数的函数时,与形参数组对应的实参是一个同类型的数组名,不需要指定元素个数,也不需要加上方括号。,5.3 函数调用与参数传递,一维数组参数 数组参数传递 在函数中对形参数组
3、所做改变,将被保存在形参数组所对应的存储空间中,这也就间接改变了实参数组,因为它们对应同样的存储空间。当函数调用结束后,形参数组不再对应任何存储空间,形参数组也就没有具体的元素了。但是,实参数组仍然对应原来的存储空间,而存储空间中改变后的值就是实参数组新的元素值。 通常情况下,数组做函数参数,需要再定义一个整型形参,用于传递数组元素个数的信息。,5.3 函数调用与参数传递,例5-6 编写一个实现字符串倒置的函数,例如,原字符串为“ABCD”,倒置后变为“DCBA”。 程序代码如下: #include #include void trans(char s,int n); /*声明函数原型*/ v
4、oid main() char x50; int n; gets(x); n=strlen(x); puts(Before:); puts(x); putchar(n); trans(x,n); /*调用函数*/ puts(After:); puts(x); putchar(n); ,5.3 函数调用与参数传递,void trans(char s,int n) /*定义函数*/ int i; char c; for(i=0;in/2;i+) c=si; si=sn-i-1; sn-i-1=c; ,5.3 函数调用与参数传递,多维数组参数 多维形参数组的定义形式为:类型名 形参数组名数值数值,即
5、除了最左边的方括号可能留空外,其余都要填写数值。 调用使用多维数组参数的函数时,与形参数组对应的实参是一个同类型的数组名,也不需要加上任何方括号。 例5-7 编写一个函数用于查找并返回34的矩阵中的最大元素。 程序代码如下: #include int max_value(int a4,int n); /*声明函数原型*/ void main() int x34; int m,i,j; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,5.3 函数调用与参数传递,for(i=0;i3;i+) for(j=0;j4;j+) printf(%d,xij); printf(
6、n); m=max_value(x,3); /*调用函数*/ printf(nThe max value is %dn,m); int max_value(int a4,int n) /*定义函数*/ int m,i,j; m=a00; for(i=0;in;i+) for(j=0;j4;j+) if(maij)m=aij; return(m); ,5.5 程序应用举例,例5-17 编程处理一批数据,要求: (1)随机产生20个10,99范围内的整数; (2)以每行5个数据的形式输出这批整数; (3)对这批数据进行升序排列,并输出排序后的结果; (4)计算这批数据的平均值; (5)分别统计大于
7、、等于和小于平均值的数据个数。 分别设计5个函数进行数据的随机生成、输出、排序、计算平均值和统计。 #include #include void getdata(int a,int n); /*随机生成数据函数的原型声明*/ void printdata(int a,int n); /*输出数据函数原型声明*/ void sort(int a,int n); /*排序函数原型声明*/ float average(int a,int n); /*求平均值函数原型声明*/ void count(int a,int n,float x,int b); /*统计函数原型声明*/,5.5 程序应用举例,
8、void main() int a20,b3; float x; getdata(a,20); printf(nInitialize:n); printdata(a,20); sort(a,20); printf(nSort:n); printdata(a,20); x=average(a,20); printf(nAverage:%fn,x); count(a,20,x,b); printf(n = :n); printdata(b,3); ,5.5 程序应用举例,void getdata(int a,int n) int i; randomize(); for(i=0;in;i+) ai=
9、random(90)+10; /*random(90)返回0N的随机整整*/ void printdata(int a,int n) int i; for(i=0;in;i+) if(i%5=0)printf(n); printf(%d ,ai); ,5.5 程序应用举例,void sort(int a,int n) int i,j,k,t; for(i=0;iaj)k=j; t=ai; ai=ak; ak=t; ,5.5 程序应用举例,float average(int a,int n) float s; int i; s=0.0; for(i=0;ix)b0+; else if(ai=x)
10、 b1+; else b2+; ,数组参数 一维数组参数 例 一维数组参数。 程序代码如下: #include void get_array(int a); /*声明函数原型*/ void print_array(int a); /*声明函数原型*/ void main() int x10; get_array(x); /*调用函数*/ print_array(x); /*调用函数*/ void get_array(int a) /*定义函数实现输入数组元素功能*/ int i; for(i=0;i10;i+) scanf(%d, ,void print_array(int a) /*定义函数
11、实现输出数组元素功能*/ int i; for(i=0;i10;i+) if(i % 5=0)printf(n); printf(%d,ai); 程序运行时输入1至10,则程序输出如下: 1 2 3 4 5 6 7 8 9 10 一维数组参数的定义和使用原则 一维形参数组的定义形式为:类型名 形参数组名,不用指定元素个数,但一对方括号不可缺少,否则无法说明该参数为一数组。 调用使用数组参数的函数时,与形参数组对应的实参是一个同类型的数组名,不需要指定元素个数,也不需要加上方括号。,一维数组参数 数组参数传递 在函数中对形参数组所做改变,将被保存在形参数组所对应的存储空间中,这也就间接改变了实参
12、数组,因为它们对应同样的存储空间。当函数调用结束后,形参数组不再对应任何存储空间,形参数组也就没有具体的元素了。但是,实参数组仍然对应原来的存储空间,而存储空间中改变后的值就是实参数组新的元素值。 通常情况下,数组做函数参数,需要再定义一个整型形参,用于传递数组元素个数的信息。,例编写一个实现字符串倒置的函数,例如,原字符串为“ABCD”,倒置后变为“DCBA”。程序代码如下: #include #include void trans(char s,int n);/*声明函数原型*/ void main() char x50; int n; gets(x); n=strlen(x); puts
13、(Before:); puts(x); putchar(n); trans(x,n); /*调用函数*/ puts(After:); puts(x); putchar(n); ,void trans(char s,int n) /*定义函数*/ int i; char c; for(i=0;in/2;i+) c=si; si=sn-i-1; sn-i-1=c; ,多维数组参数 多维形参数组的定义形式为:类型名 形参数组名数值数值,即除了最左边的方括号可能留空外,其余都要填写数值。 调用使用多维数组参数的函数时,与形参数组对应的实参是一个同类型的数组名,也不需要加上任何方括号。 例 编写一个函数用于查找并返回34的矩阵中的最大元素。 程序代码如下: #include int max_value(int a4,int n);/*声明函数原型*/ void main() int x34; int m,i,j; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,for(i=0;i3;i+) f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋买卖按揭合同二零二五年
- 个人押车借款合同二零二五年
- 公交临时用地承租合同标准文本
- 音乐教学计划
- 设计人员绩效考核方案
- 项目实施服务合同协议书范本
- 北师大版一年级数学上册搭积木教学设计
- 海大生物反应工程原理大全
- 心内科消防应急预案
- 青岛版小学二年级数学上册教学计划
- 河南省绿色建筑评价表(建筑专业)
- 2022-2023学年山东省济南市市中区八年级(下)期中语文试卷-普通用卷
- 江铃系列维修手册
- 造价咨询公司组织机构及人员岗位职责
- 中国文化科举制度的等级
- GB/T 700-2006碳素结构钢
- 多发性骨髓瘤NCCN患者指南中文版2022
- GB/T 13441.4-2012机械振动与冲击人体暴露于全身振动的评价第4部分:振动和旋转运动对固定导轨运输系统中的乘客及乘务员舒适影响的评价指南
- 教科版科学五年级下册全册全套课件【最新版】
- 中绿的制度课
- 机械原理课程设计-抽油机机械系统设计说明书
评论
0/150
提交评论