第8章数组案例.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* void main() { int a[10], i; … k= max( a , 10 ) ; printf ( Max is %d, k); } 数组名作函数参数 1、实参数组与形参数组的类型必须一致 2、用数组作参数时,形参必须是定义方式,实参必须是数组名 3、形参数组可不指定大小 int max ( int x[10] , int n) { int i , m ; m = x[0] ; for ( i = 1; i n ; i++ ) if ( m x[i] ) m = x[i] ; return m ; } int x[ ] * 数组名作函数参数—地址传递 例 求学生的平均成绩 #include stdio.h float average(int stu[10], int n); int main() { int score[10], i; float av; printf(Input 10 scores:\n); for( i=0; i10; i++ ) scanf(%d, score[i]); av=average(score,10); printf(Average is:%.2f, av); return 0; } float average(int stu[10], int n) { int i; float av,total=0; for( i=0; in; i++ ) total += stu[i]; av = total/n; return av; } 实参用数组名 形参用数组定义, ?int stu[ ] . . 2 1 0 9 score 56 23 12 …. …. 88 stu * 1 2 a 调用前 a[0] a[1] 1 2 a 调用 a[0] a[1] 1 2 x y 2 1 x y 交换 1 2 a 返回 #include stdio.h void swap2(int x, int y) { int z; z=x; x=y; y=z; } int main() { int a[2] = { 1, 2 }; swap2( a[0], a[1] ); printf(a[0]=%d\na[1]=%d\n,a[0],a[1]); return 0; } * #include stdio.h void swap2(int x[ ]) { int z; z=x[0]; x[0]=x[1]; x[1]=z; } int main() { int a[2]={1,2}; swap2(a); printf(a[0]=%d\na[1]=%d\n,a[0],a[1]); return 0;} 1 2 a 调用前 1 2 a x 调用 2 1 a x 交换 2 1 a 返回 * 值传递(实参→形参的单向传递) 函数调用时,为形参分配存储单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留原值。 形参与实参占用不同的内存单元。 地址传递(实参?形参的双向传递) 函数调用时,将数据的存储地址传递给形参。 形参与实参占用同一存储单元,形参的改变就是实参的改变。 * 【示例】将数组a中的n个整数按相反顺序存放 void inv(int x[ ], int n) { int t,k, j=n-1; for(k=0;kj;k++,j--) {t=x[k]; x[k]=x[j]; x[j]=t;} } void main() { int i,a[6]={3,7,9,11,0,6}; inv(a,6); for(i=0;i6;i++) printf(%d,,a[i]); printf(\n); } * * * * * * 这是一个典型算法,需要读者掌握。 * * 查找(也叫搜索)是计算机数据处理的常用算法之一,也是日常生活最常见的问题。如果待查序列中数据的个数不是非常多,简单的顺序查找算法就可以解决问题。当数据个数非常大时,如何提高查找效率就成了算法的关键。 查找的结果只能是找到还是没找到,如果找到了,则该查找是成功的,否则就是失败的查找。对于成功的查找,只要找到一个就可以了,不必比较所有的数据。但对于失败的查找,需要确认每个数据都不是要找的,但是否需要比较所有数据呢?顺序

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档