lesson13程序的组织结构函数调用.ppt_第1页
lesson13程序的组织结构函数调用.ppt_第2页
lesson13程序的组织结构函数调用.ppt_第3页
lesson13程序的组织结构函数调用.ppt_第4页
lesson13程序的组织结构函数调用.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Lesson13程序的组织结构,学习目标:,1,学会使用结构化程序设计方法编写程序,函数编写原则,1、将比较复杂的问题分解成小问题(函数),以简化程序设计2、将经常用的、公共的功能定义成函数,以在程序中重用,练习1:,从键盘输入一个数n,输出他的所有质因子,例如输入30输出235要求:1、定义一个函数isPrime(intx)。函数的功能:如果x是质数,返回1,否则返回02、在主函数中,从2循环到n/2,将是n的因子,并且是质数的输出,例3:输出乘法口诀表。,例3:输出乘法口诀表。分析:它是一个9行9列的二维表格,加上一个行标题和一个列标题,显示出来应该是10行10列。,问题分析行与行之间采用若干个“=”或“-”字符表示表格之间的线段,为此,可以定义一个函数,专门用来连续地显示若干个字符,以避免在每次需要显示线段的时候,都重复地书写相应的语句序列。(重用),#includevoiddrawLine(intn,charch);/*连续显示n个ch字符*/intmain()inti,j;printf(n9.9tablen);/*显示表名*/drawLine(30,=);/*显示每列的标题*/printf(n123456789);drawLine(30,=);for(i=1;i=9;i+)/*显示每行的内容*/printf(n%3d,i);for(j=1;j=9;j+)printf(%3d,i*j);if(i9)drawLine(30,-);elsedrawLine(30,=);return0;,lesson13_03.c,voiddrawLine(intn,charch)/*连续显示n个ch字符*/inti;putchar(n);/*换行*/for(i=1;i0);return;,编写程序,将从键盘输入的字符串两头的空格去掉后输出。例如输入的字符串是”ABC”,输出”ABC”要求:1、定义函数trim(chars),函数的功能是将字符串两头的空格去掉2、在主函数中调用trim函数将从键盘输入的字符串两头的空格去掉后输出,C语言允许函数1、嵌套调用,即在函数中可以调用其它的函数。2、递归调用,即在函数内部直接地调用自己。,intf(intx)inty,z;z=f(y);.return(2*z);,例6:计算阶乘的函数,n!=n*(n-1)*(n-2)*2*1,n!=n*(n-1)*(n-2)*2*1,n!=n*,(n-1)!,1!=1,递归关系,终止条件,算n!,必须算出(n-1)!;计算出(n-1)!,必须计算出(n-2)!;由此类推,直到推到1!=1,返回后即可依次计算出2!,3!,(n-1)!,n!。,当求解一个问题时,如果求解过程又用到自己则可以使用递归求解,floatfac(intn)floatf;returnf;,if(n=0|n=1)f=1;elsef=fac(n-1)*n;,intmain()floaty;intn;printf(“输入:);scanf(%d,lesson13_06.c,main函数,输入m3,y=fac(m),输出y6,调用facmn3,因3!=1或0f=3*fac(3-1),返回f=6,调用facmn2,返回f=2,返回f=1,因2!=1或0f=2*fac(2-1),调用facmn1,因1=1f=1,结束,递归调用过程演示:,输出下列数列11235813的前20项要求:1、定义函数fib(intn),函数的功能是返回该数列中的第n项2、在主函数中循环逐次求每一项3、提示:fib(n)=fib(n-1)+fib(n-2),编写程序,从键盘输入x和n,输出x的n次方要求:1、定义函数f(intx,intn),函数的功能是求x的n次方2、在主函数中调用该函数,输出x的n次方3、提示f(x,n)=f(x,n-1)*x;,1、编写函数maxIndex(),该函数返回一个数组的最大值的下标,利用该函数编程实现,从键盘任意输入10个整数,输出其中的最大值。2、编写函数myStrcat(),该函数完成两个字符串的连接,利用该函数,编程实现字符串srcStr连接到字符串dstStr的尾部。3、编写函数judge(),该函数判断一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论