- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机程序设计基础5讲述
计算机程序设计基础 第五讲 函数 三、数组 现假定 n=6,k=4 我们用函数来编写这个题的程序,参考程序如下: 主函数执行下述语句时, printf(“%d\n”,SOP(n,k)); 传值给被调用函数 int SOP(m,l) n的值6传给m, k的值4传给l。 6和4为实在参数,m和l为形式参数。 被调用函数在其形式参数被赋值之后,开始执行函数体,先是让累加器初始化为0(sum=0),接着进入以i为控制变量的计算循环,i从1变到m(m=6),即累加m次(即6次)。循环体为sum=sum+power(i,l)。当6次循环执行完后,实现的是 这里显然是一种递归定义,当着解move(n-1, A, C, B)时又可想到,将其分解为3步: 第1步:将上面的n-2只盘子作为一个整体从A经B到C,move(n-2, A, B, C); 第2步:第n-1号盘子从A直接移至B,即n-1:A to B; 第3步:再将上面的n-2只盘子作为一个整体从C经A移至B,move(n-2, C, A, B); 下面,我们还是以3只盘子为例画出递归的与或图。 * * 问题:编程求解 #include stdio.h //预编译命令 #define n 6 //定义n为6 #define k 4 //定义k为4 void main() //主函数 { //主程序开始 printf(sum of %dth powers of integers from 1 to %d=,k,n ); //提示信息 printf(%d\n,SOP(n,k)); //输出结果,其中 //SOP(n,k)为被调用函数 } //主程序结束 //以下函数是被主程序调用的函数 int SOP(m,l) //整型自定义函数,m,l 为形参 int m,l; //形参m,l 为整型变量 { //自定义函数体开始 int i,sum; //整型变量i,sum sum=0; //初始化累加器 for (i=1; i=m; i=i+1 ) //计数循环(i) { //循环体开始 sum=sum+power( i ,l ); //累加 } //循环体开始 return (sum) ; //返回值sum给函数sop(n,k) } //自定义函数体结束 //以下函数是被函数sop(n,k)调用的函数 int power(p,q) //整型自定义函数 int p,q;
文档评论(0)