第7章 函数.ppt

上传人:hyn****60 文档编号:70379805 上传时间:2023-01-19 格式:PPT 页数:40 大小:1.08MB
返回 下载 相关 举报
第7章 函数.ppt_第1页
第1页 / 共40页
第7章 函数.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《第7章 函数.ppt》由会员分享,可在线阅读,更多相关《第7章 函数.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第7 7章章 函数函数 理解并掌握函数的概念、定义和调用的方法和实质理解并掌握函数的概念、定义和调用的方法和实质掌握有参函数的数据传递方法,区分掌握有参函数的数据传递方法,区分“值传递值传递”与与“地址传递地址传递”理解标识符作用域和生成期的概念理解标识符作用域和生成期的概念理解并掌握存储类型的概念理解并掌握存储类型的概念理解并学会设计简单的递归函数理解并学会设计简单的递归函数 引言引言 函数可以实现程序的模块化,使得程序设计简单、函数可以实现程序的模块化,使得程序设计简单、直观,提高程序的可读性和可维护性,程序员还可直观,提高程序的可读性和可维护性,程序员还可以将一些常用的算法编写成通用函

2、数,以供随时调以将一些常用的算法编写成通用函数,以供随时调用。用。无论程序的设计规模有多大、多复杂,都是划分为无论程序的设计规模有多大、多复杂,都是划分为若干个相对独立、功能较单一的函数,通过对这些若干个相对独立、功能较单一的函数,通过对这些函数的调用,从而实现程序的功能。函数的调用,从而实现程序的功能。C C语言的函数分为库函数和用户自定义函数语言的函数分为库函数和用户自定义函数 7.1 案例:计算案例:计算(1)+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)#include#include intint sum(intsum(int n)n)intint i,si

3、,s=0;=0;for(i=1;i=n;i+)for(i=1;i=n;i+)s=s+i;s=s+i;return s;return s;void main()void main()intint s,is,i;for(ifor(i=1,s=0;i=5;i+)=1,s=0;i xy?x:yy?x:y;returnreturn 后面跟表达式。后面跟表达式。返回值的类型也可以是返回值的类型也可以是voidvoid类型,这种情况下可以写成:类型,这种情况下可以写成:returnreturn;也可以省略返回语句。也可以省略返回语句。参数参数:voidvoid 表示函数没有参数,通常把这种函数称为无参函数。

4、例表示函数没有参数,通常把这种函数称为无参函数。例如:如:intint sum(sum(voidvoid)intint i,si,s=0;=0;for(ifor(i=1,s=0;i=100;i+)s=s+i;=1,s=0;i=100;i+)s=s+i;return return s s 函数计算并返回函数计算并返回1 1到到100100之间的整数之和。之间的整数之和。参数参数:参数类型参数类型1 1 参数名参数名1,1,参数类型参数类型2 2 参数名参数名2,2,函数包含一个或多个参数,每个参数都必须标注具体的函数包含一个或多个参数,每个参数都必须标注具体的数据类型。这样的函数又称为有参函数。

5、例如:数据类型。这样的函数又称为有参函数。例如:intint sum(sum(intint n n)intint i,si,s=0;=0;for(ifor(i=1,s=0;i=1,s=0;i=n;in;i+)s=s+i;+)s=s+i;return return s s;函数计算并返回函数计算并返回1 1到到n n之间的整数之和。之间的整数之和。7.2.2 函数调用函数调用 函数调用的形式如下:函数调用的形式如下:函数名函数名(实参列表实参列表)例如:例如:s=sum(100)+sum(200);s=sum(100)+sum(200);s=sum(100+200);s=sum(100+200)

6、;s=s=sum(nsum(n););参数从调用的角度分为实际参数和形式参数,或简称参数从调用的角度分为实际参数和形式参数,或简称为实参和形参。实参和形参是一一对应的关系,参数为实参和形参。实参和形参是一一对应的关系,参数的个数和类型都必须一致。如果类型不一致将自动转的个数和类型都必须一致。如果类型不一致将自动转换,不能自动转换的将在编译或运行时出错。换,不能自动转换的将在编译或运行时出错。7.3 参考传递参考传递 实参向形参的参数传递有两种形式:实参向形参的参数传递有两种形式:值传递和地址传递。值传递和地址传递。值传递值传递是单向的数据传递,传递完成后,对形是单向的数据传递,传递完成后,对形

7、参的任何操作都不会影响实参。参的任何操作都不会影响实参。地址传递地址传递也可以说是单向的数据传递,但这种也可以说是单向的数据传递,但这种数据往往是变量、结构体、对象等的地址,对数据往往是变量、结构体、对象等的地址,对形参的操作会直接影响实参,从而使得这种形形参的操作会直接影响实参,从而使得这种形式上的式上的“单向单向”数据传递变成数据传递变成“双向双向”的的 7.3 参考传递参考传递【例例7-2】演示函数的参数传递演示函数的参数传递 void main()int x=10,y=20;int a10=1,2,3,4,5,6,7,8,9,10;int i,s=0;swap(x,y);/*值传递值传

8、递*/printf(x,y=%d(main)n,x,y);for(i=0;i 10;i+)s=s+ai;printf(s=%dn,s);s=0;change(a);/*地址传递地址传递*/for(i=0;i 10;i+)s=s+ai;printf(s=%dn,s);#include void swap(int a,int b)int t;t=a;a=b;b=t;printf(a,b=%d(swap)n,a,b);void change(int x10)int i;for(i=0;i10;i+)xi=xi+1;7.4 函数声明函数声明 函数的声明是对函数类型、名称等的函数的声明是对函数类型、名称

9、等的说明说明。对函数及其函。对函数及其函数体的建立称为函数的数体的建立称为函数的定义定义。对函数的说明可以和定义一。对函数的说明可以和定义一起完成,也可以只对函数的原型进行声明,这种声明通常起完成,也可以只对函数的原型进行声明,这种声明通常称为引用性声明,其格式如下:称为引用性声明,其格式如下:(););如:如:intint sum(intsum(int a,inta,int b);b);和完整的函数声明不同的是,形参表可以只给出形参的和完整的函数声明不同的是,形参表可以只给出形参的类型,如:类型,如:intint sum(int,intsum(int,int););形参名可以省略。形参名可以

10、省略。另外,这种声明是一条语句,后面的分号(另外,这种声明是一条语句,后面的分号(;)必不)必不可少。可少。声明和定义的区分声明和定义的区分变量的声明通常是对变量的类型和名称的一种说明,不一定变量的声明通常是对变量的类型和名称的一种说明,不一定会分配内存,而变量的定义肯定会分配内存空间。会分配内存,而变量的定义肯定会分配内存空间。函数的声明是对函数的类型和名称的一种说明,而函数的定函数的声明是对函数的类型和名称的一种说明,而函数的定义是一个模块,包括函数体部分。义是一个模块,包括函数体部分。声明可能也是定义,也可能不是。广义上的声明包括定义性声明可能也是定义,也可能不是。广义上的声明包括定义性

11、声明和引用性声明,我们通常所说的声明指的是后者。声明和引用性声明,我们通常所说的声明指的是后者。7.5 作用域作用域 作用域就是作用范围,不同作用域允许相同的作用域就是作用范围,不同作用域允许相同的标识符出现,同一作用域标识符不能重复,嵌标识符出现,同一作用域标识符不能重复,嵌套的作用域标识符由内向外屏蔽。套的作用域标识符由内向外屏蔽。7.5 作用域作用域标识符标识符a a共出现了共出现了3 3次。大圆次。大圆A A中的中的intint a a作用范围是整个程序;作用范围是整个程序;小圆小圆B B、D D中的中的intint a a分属分属B B、D D范围,而且都屏蔽了大圆范围,而且都屏蔽了

12、大圆A A中的中的a a,小圆,小圆C C可以直接访问大圆中的可以直接访问大圆中的intint a a;小圆小圆B B不能访问小圆不能访问小圆D D中中char dchar d,同样,小圆,同样,小圆D D不能访问小圆不能访问小圆B B中的中的char bchar b。B B、C C、D D都能访问大圆都能访问大圆A A中的中的char cchar c、intint sum(intsum(int n);n);小圆小圆B B、C C、D D可以理解成是可以理解成是3 3个函数或复合语句。在有些教个函数或复合语句。在有些教材中用材中用“块块”来表示一段相对独立的代码。来表示一段相对独立的代码。【例

13、例7-3】作用域演示作用域演示 int a=10;static int add(int a,int b)return a+b;main()int a,b,c;int i,s=0;int sub(int,int);extern int d;a=20;c=10;int a;int c=20;b=10;a=add(b,c);nprintf(a=%d,b=%d,c=%dn,a,b,c);for(i=1;i=100;i+)s=s+i;for(i=1;i=100;i+)s=sub(s,i);printf(s=%dn,s);printf(d=%dn,d);extern int sub(int a,int b

14、)return a-b;int d=888;int e=999;7.6 存储类型存储类型 从分配内存到被回收,变量的使用具有时效性,这就是变量从分配内存到被回收,变量的使用具有时效性,这就是变量的生存期。在整个程序运行过程中,不同存储类型的变量生的生存期。在整个程序运行过程中,不同存储类型的变量生存期也各有差异。存期也各有差异。一个程序在内存中占用的存储空间分为两个部分:程序区和一个程序在内存中占用的存储空间分为两个部分:程序区和数据区,数据区也可以分成静态数据区和动态数据区。数据区,数据区也可以分成静态数据区和动态数据区。生存期和作用域是不同的概念,分别从时间上和空间上对变生存期和作用域是不

15、同的概念,分别从时间上和空间上对变量的使用进行界定,相互关联又不完全一致,例如,静态变量的使用进行界定,相互关联又不完全一致,例如,静态变量的生存期贯穿整个程序,但作用域是从声明位置开始到文量的生存期贯穿整个程序,但作用域是从声明位置开始到文件结束。件结束。7.6 存储类型存储类型一个程序在内存中占用的存储空间分为两个部分:一个程序在内存中占用的存储空间分为两个部分:程序区和数据区,数据区也可以分成静态数据区和程序区和数据区,数据区也可以分成静态数据区和动态数据区动态数据区 7.6 存储类型存储类型变量的存储类型包括变量的存储类型包括:自动(自动(autoauto)寄存器(寄存器(regist

16、erregister)静态(静态(staticstatic)外部(外部(externextern)7.6.1 自动(自动(auto)类型)类型 autoauto用于局部变量的存储类型声明,可以省略,系统默认局用于局部变量的存储类型声明,可以省略,系统默认局部变量为部变量为autoauto类型。类型。autoauto类型变量是动态变量,声明时系统不会自动初始化,其类型变量是动态变量,声明时系统不会自动初始化,其值是随机的,所以必须在使用前初始化或赋值。下面的用法值是随机的,所以必须在使用前初始化或赋值。下面的用法是错误的:是错误的:intint add(intadd(int a,inta,int

17、 b)b)intint c;c;c=c+a+b;/*c=c+a+b;/*错误:错误:c c没有初始化没有初始化*/return c;return c;autoauto intint a;/*a;/*错误:外部变量不能声明为错误:外部变量不能声明为autoauto*/*/7.6.2 寄存器(寄存器(register)类型)类型 registerregister用于局部变量的存储类型声明,表示请求编译器尽可用于局部变量的存储类型声明,表示请求编译器尽可能直接分配使用能直接分配使用CPUCPU的寄存器,在寄存器满的情况下才分配的寄存器,在寄存器满的情况下才分配内存。这种类型的变量主要用于循环变量,可

18、以大大提高对内存。这种类型的变量主要用于循环变量,可以大大提高对这种变量的存取速度,从而提高程序效率。这种变量的存取速度,从而提高程序效率。能实际实现为能实际实现为registerregister类型的变量很少,主要是寄存器数量有类型的变量很少,主要是寄存器数量有限。限。7.6.3 静态(静态(static)类型)类型 staticstatic类型变量称为静态变量,存放在静态存储区。类型变量称为静态变量,存放在静态存储区。全局变量和局部变量都可以声明为全局变量和局部变量都可以声明为staticstatic类型,但意义不同。类型,但意义不同。全局变量总是静态存储,默认值为全局变量总是静态存储,默

19、认值为0 0。全局变量前加上。全局变量前加上staticstatic表示该变量只能在本程序文件内使用,其他文件无使用权限。表示该变量只能在本程序文件内使用,其他文件无使用权限。对于全局变量,对于全局变量,staticstatic关键字主要用于在程序包含多个文件关键字主要用于在程序包含多个文件时限制变量的使用范围,对于只有一个文件的程序有无时限制变量的使用范围,对于只有一个文件的程序有无staticstatic都是一样。都是一样。局部变量声明为局部变量声明为staticstatic类型,则要求系统对该变量采用静态类型,则要求系统对该变量采用静态存储的内存分配方式。值得注意的是,对这种存储的内存分

20、配方式。值得注意的是,对这种staticstatic类型的类型的局部变量,系统初始化只进行一次,多次遇到该声明语句,局部变量,系统初始化只进行一次,多次遇到该声明语句,将不再被执行。将不再被执行。【例例7-5】演示静态变量演示静态变量 intint s;s;static static intint t;/*t;/*其他文件不能使用其他文件不能使用*/main()main()intint sum(intsum(int););intint i;i;for(ifor(i=3;i=5;i+)=3;i=5;i+)s=s=sum(i);tsum(i);t=t+s;/*t=t+s;/*t自动初始化为自动初始

21、化为0*/0*/printf(1+2+3+4+5=%printf(1+2+3+4+5=%dn,sdn,s););printf(1+2+3)+(1+2+3+4)+(1+2+3+4+5)=%printf(1+2+3)+(1+2+3+4)+(1+2+3+4+5)=%dn,tdn,t););intint sum(intsum(int n)n)static static intint s=0;/*s=0;/*该行语句只执行一次该行语句只执行一次*/intint i;i;for(i=1;i=n;i+)for(i=1;i=n;i+)s=s+i;s=s+i;return s;return s;【程序分析】【程

22、序分析】sumsum函数计算函数计算1+2+3+n1+2+3+n。主函数中利用。主函数中利用forfor循环循环3 3次调用次调用sumsum函数,分别计算函数,分别计算sum(3)sum(3)、sum(4)sum(4)、sum(5)sum(5)sum(3)=1+2+3=6 sum(3)=1+2+3=6 s s 等于等于6 6sum(4)=6+(1+2+3+4)=6+10=16 sum(4)=6+(1+2+3+4)=6+10=16 s s 等于等于1616sum(5)=16+(1+2+3+4+5)=16+15=31sum(5)=16+(1+2+3+4+5)=16+15=31 s s 等于等于3

23、131t=6+16+31=53t=6+16+31=537.6.4 外部(外部(extern)类型)类型 externextern 关键字用于声明外部的联接。对于全局关键字用于声明外部的联接。对于全局变量,以下定义形式没什么区别:变量,以下定义形式没什么区别:externextern intint a;a;intint a;a;默认情况下,在文件域中声明的变量和函数都默认情况下,在文件域中声明的变量和函数都是外部的。但对于作用域范围之外的变量和函是外部的。但对于作用域范围之外的变量和函数,需要数,需要externextern来进行引用性声明。来进行引用性声明。7.7 案例:递归计算案例:递归计算

24、s=1+2+3+100#include#include intint f(intf(int n)n)if(nif(n=1)=1)return 1;return 1;elseelsereturn n*f(n-1);return n*f(n-1);intint s(ints(int n)n)if(nif(n=1)=1)return 1;return 1;elseelsereturn n+s(n-1);return n+s(n-1);void main()void main()printf(5!=%dn,f(5);printf(5!=%dn,f(5);printf(1+2+3+.+100=%dn,s

25、(100);printf(1+2+3+.+100=%dn,s(100);7.7 递归函数递归函数 函数不能嵌套定义,但可以嵌套调用。函数函数不能嵌套定义,但可以嵌套调用。函数A A可以调可以调用用B B,函数,函数B B也可以调用也可以调用C C,这种调用称为嵌套调用。,这种调用称为嵌套调用。函数直接或间接调用自身,则称为递归调用,该函函数直接或间接调用自身,则称为递归调用,该函数则称为递归函数。数则称为递归函数。7.9 案例:函数参数处理次序的案例案例:函数参数处理次序的案例void void f(intf(int a,inta,int b)b)printf(aprintf(a=%=%d,b

26、d,b=%=%dn,a,bdn,a,b););void main()void main()intint i,j i,j;i=j=1;i=j=1;f(i,+if(i,+i););i=j=1;i=j=1;f(i,if(i,i+);+);i=j=1;i=j=1;f(i+j,+if(i+j,+i););i=j=1;i=j=1;f(i+j,if(i+j,i+);+);7.10 案例:案例:9999符合符合“歌德巴赫猜想歌德巴赫猜想”吗吗 哥德巴赫(哥德巴赫(GoldbachGoldbach C.C.,1690.3.18-1764.11.201690.3.18-1764.11.20)是德国数学)是德国数学

27、家,出生于格奥尼格斯别尔格(现名加里宁城),曾在英国牛家,出生于格奥尼格斯别尔格(现名加里宁城),曾在英国牛津大学学习;原学法学,由于在欧洲各国访问期间结识了贝努津大学学习;原学法学,由于在欧洲各国访问期间结识了贝努利家族,所以对数学研究产生了兴趣;曾担任中学教师。利家族,所以对数学研究产生了兴趣;曾担任中学教师。“歌德巴赫猜想歌德巴赫猜想”是歌德巴赫在是歌德巴赫在17421742年年6 6月月7 7日给著名数学家欧日给著名数学家欧拉的信中提出的一个命题:拉的信中提出的一个命题:随便取某一个奇数,比如随便取某一个奇数,比如7777,可以把它写成,可以把它写成3 3个素数个素数之和:之和:77=

28、53+17+777=53+17+7再比如再比如461461:461=449+7+5 461=449+7+5【例例7-8】验证验证9999是否符合是否符合“歌德巴赫猜想歌德巴赫猜想”。#include#include#include#include intint isprimer(intisprimer(int););main()main()intint n=9999;n=9999;intint a,b,ca,b,c;for(afor(a=2;a n;a+)=2;a n;a+)if(isprimer(aif(isprimer(a)for(b=2;b n;b+)for(b=2;b n;b+)c=n

29、-a-b;c=n-a-b;if(isprimer(bif(isprimer(b)&)&isprimer(cisprimer(c)printf(%dprintf(%d In In GoldbachGoldbach Guess Guessn,nn,n););printf(%dprintf(%d=%=%d+%d+%dn,n,a,b,cd+%d+%dn,n,a,b,c););exit(0);exit(0);printf(%dprintf(%d Out Out GoldbachGoldbach Guess Guessn,nn,n););intint isprimer(intisprimer(int n)

30、n)intint i;i;for(ifor(i=2;i=n/2;i+)=2;i n/2)return 1;n/2)return 1;else else return 0;return 0;7.11 案例:星号图形的打印案例:星号图形的打印#include#include#define N 5#define N 5void void lineprint(intlineprint(int n)n)while(nwhile(n-)-)printfprintf(*);(*);printf(nprintf(n););void void print(intprint(int n)n)if(n=1)if(n

31、=1)lineprint(nlineprint(n););/*/*输出一行星号输出一行星号*/print(n-1);print(n-1);/*/*递归调用递归调用*/elseelsereturn;return;void main()void main()print(Nprint(N););修改修改lineprintlineprint函数如下函数如下:void void lineprintlineprint(intint n)n)intint i=n;i=n;while(iwhile(i-)-)printfprintf();();while(nwhile(n-)-)printfprintf(*)

32、;(*);printf(nprintf(n););将输出下面的图形将输出下面的图形:7.12 案例:演示数组和函数的关系案例:演示数组和函数的关系#include#include intint sum(intsum(int a,inta,int b)b)return return a+ba+b;intint sumarray(intsumarray(int a10)a10)intint s=0;s=0;intint i;i;for(i=0;i 10;i+)for(i=0;i 10;i+)s=s+s=s+aiai;return s;return s;void void cleararray(in

33、tcleararray(int a,inta,int pos)pos)intint i;i;aposapos=0;=0;void void clear(intclear(int a)a=0;a)a=0;main()main()intint a10=1,2,3,4,5,6,7,8,9,10;a10=1,2,3,4,5,6,7,8,9,10;printf(a0+a2=%dn,sum(a0,a2);printf(a0+a2=%dn,sum(a0,a2);printf(a0+a1+.+a9=%printf(a0+a1+.+a9=%dn,sumarray(adn,sumarray(a););clear(

34、a2);clear(a2);printf(a0+a2=%dn,sum(a0,a2);printf(a0+a2=%dn,sum(a0,a2);printf(a0+a1+.+a9=%printf(a0+a1+.+a9=%dn,sumarray(adn,sumarray(a););cleararray(a,2);cleararray(a,2);printf(a0+a2=%dn,sum(a0,a2);printf(a0+a2=%dn,sum(a0,a2);printf(a0+a1+.+a9=%printf(a0+a1+.+a9=%dn,sumarray(adn,sumarray(a););7.12 案

35、例:汉诺塔游戏案例:汉诺塔游戏有有3 3个柱子个柱子A A、B B、C C,其中,其中A A上由大到小穿插上由大到小穿插n n个中间个中间含孔的圆盘,要求借助柱子含孔的圆盘,要求借助柱子B B,将这,将这n n个圆盘移动到个圆盘移动到C C上,每次只能移动上,每次只能移动1 1个盘子,并且任何时候都不能个盘子,并且任何时候都不能出现大盘在上、小盘在下的情况出现大盘在上、小盘在下的情况 7.12 案例:汉诺塔游戏案例:汉诺塔游戏算法:算法:将将A A上上n n个盘子移动到个盘子移动到C C上,可以分上,可以分3 3步完成:步完成:(1)(1)将将A A上上n-1n-1盘子借助盘子借助C C移动到

36、移动到B B上上(2)(2)将下面的第将下面的第n n个盘子移动到个盘子移动到C C上上(3)(3)将将B B上上n-1n-1盘子借助盘子借助A A移动到移动到C C上上7.12 案例:汉诺塔游戏案例:汉诺塔游戏#include#include /*/*函数函数movemove:移动一个盘子:移动一个盘子*/void void move(intmove(int n,charn,char getone,chargetone,char putoneputone)printf(%d:%cprintf(%d:%c-%-%cn,n,getone,putonecn,n,getone,putone););/

37、*/*函数函数hanoihanoi:移动移动n n个盘子个盘子*/void void hanoi(inthanoi(int n,charn,char one,charone,char two,chartwo,char three)three)if(nif(n=1)=1)move(n,one,threemove(n,one,three););else else hanoi(n-1,one,three,two);/*hanoi(n-1,one,three,two);/*把把A A上的上的n-1n-1个盘子借助个盘子借助C C移动到移动到B*/B*/move(n,one,threemove(n,on

38、e,three););/*/*把第把第n n个盘子移动到个盘子移动到C*/C*/hanoi(n-1,two,one,three);/*hanoi(n-1,two,one,three);/*把把B B上的上的n-1n-1个盘子借助个盘子借助A A移动到移动到C*/C*/7.12 案例:汉诺塔游戏案例:汉诺塔游戏intint main()main()intint m;m;printf(Inputprintf(Input the number of disks:);the number of disks:);scanf(%d,&mscanf(%d,&m););printf(Theprintf(The

39、 steps to moving%d disks:steps to moving%d disks:n,mn,m););hanoi(m,a,b,chanoi(m,a,b,c););return 0;return 0;函数的分类:库函数和用户自定义函数。函数的分类:库函数和用户自定义函数。函数的定义:类型、函数名、形式参数、函数体以及函数的函数的定义:类型、函数名、形式参数、函数体以及函数的原型声明等。原型声明等。函数的调用:函数的嵌套和递归调用,其中包括函数实参和函数的调用:函数的嵌套和递归调用,其中包括函数实参和形参之间的形参之间的3 3种传递方式:值传递、引用传递、地址传递。种传递方式:值传

40、递、引用传递、地址传递。变量的作用域和存储方式:变量的作用域是指变量在程序中变量的作用域和存储方式:变量的作用域是指变量在程序中的有效范围,分为局部变量和全局变量。变量的存储方式是的有效范围,分为局部变量和全局变量。变量的存储方式是指变量在内存中的存储类型,它表示了变量的生存期,分为指变量在内存中的存储类型,它表示了变量的生存期,分为静态存储和动态存储,具体的存储类型包括静态存储和动态存储,具体的存储类型包括autoauto、registerregister、staticstatic和和externextern四种。四种。编写函数,求编写函数,求1+3+5+7+991+3+5+7+99编写函数,求编写函数,求3 3个整数中的最大数。个整数中的最大数。编写函数,实现在一个字符串中插入指定字符。编写函数,实现在一个字符串中插入指定字符。编写函数,将输入的十进制数转换成十六进制数并输出。编写函数,将输入的十进制数转换成十六进制数并输出。FibonacciFibonacci数列的定义为:数列前两个数都是数列的定义为:数列前两个数都是1 1,从第,从第3 3个数开个数开始,每个数都是前面两个数的和,即:始,每个数都是前面两个数的和,即:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁