C语言第07章函数分析.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言第07章函数分析

例7.5 有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人多少岁?他说比第3个人大2岁。问第3个人多少岁?他说比第2个人大2岁。问第1个人多少岁?他说是10岁。求第5个人多少岁? 算法分析:age(5)=age(4)+2 age(4)=age(3)+2 age(3)=age(2)+2 age(2)=age(1)+2 age(1)=10 age(n)=age(n-1)+2 (n1) age(n)=10 (n=1) age(int n) { int c; if(n==1) c=10; else c=age(n-1)+2; return(c); } main() { printf(%d\n,age(5)); } 运行的结果为: 70 例 Hanoi问题 void move(char getone, char putone) { printf(%c---%c\n,getone,putone); } void hanoi(int n,char one,char two,char three) { if(n==1) move(one,three); else { hanoi(n-1,one,three,two); move(one,three); hanoi(n-1,two,one,three); } } main() { int m; printf(Input the number of disks:); scanf(%d,m); printf(The steps to moving %3d disks:\n,m); hanoi(m,A,B,C); } A B C 7.1 7.2 7.3 7.4 模块化程序设计 函数的定义 函数调用 函数的递归调用 第7章 函数 7.5 数组作为函数参数 7.6 7.7 变量的作用域 变量的存储类别 数组元素作函数实参——值传递 例 两个数组大小比较 4 3 2 1 0 5 a 56 23 12 10 76 88 4 3 2 1 0 5 b 21 23 43 98 66 54 n=0 m=0 k=0 i n=0 m=0 k=1 i n=0 m=1 k=1 i n=1 m=1 k=1 i n=1 m=1 k=2 i n=2 m=1 k=2 i n=3 m=1 k=2 a和b为有10个元素的整型数组 比较两数组对应元素 变量n,m,k记录a[i]b[i], a[i]==b[i], a[i]b[i]的个数 最后 若nk,认为数组ab 若nk,认为数组ab 若n==k,认为数组a==b #include stdio.h main() { int a[10],b[10],i,n=0,m=0,k=0; printf(Enter array a:\n); for(i=0;i10;i++) scanf(%d,a[i]); printf(Enter array b:\n); for(i=0;i10;i++) scanf(%d,b[i]); for(i=0;i10;i++) { if(large(a[i],b[i])==1) n=n+1; else if(large(a[i],b[i])==0) m=m+1; else k=k+1; } /* Output */ } int large(int x,int y) { int flag; if(xy) flag=1; else if(xy) flag=-1; else flag=0; return(flag); } 7.5 数组作为函数参数 数组名作函数参数——地址传递 在主调函数与被调函数分别定义数组,且类型应一致 形参数组大小(多维数组第一维)可不指定 形参数组名是地址变量 例 求学生的平均成绩 #include stdio.h float average(int stu[10], int n); void main() { int score[10], i; float av; printf(Input 10 scores:\n); for( i=0; i1

文档评论(0)

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

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

1亿VIP精品文档

相关文档