资源描述:
《《c语言》课内实验报告-函数的调用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、学院:班级:踝程名称:实验题目:指导教师HAW:氐m电h二冷《c语言》课内实验报告学生姓名:宁富伟2015409020124及学号:理学院信计15]C语言函数的应用邓冠男副教授朱振菊实验师2016年04月01日一、实验题目:函数的应用二、实验目的:1.进一步掌握函数的定义方法、调用方法,实参与形参的对应关系,以及调用函数的执行过程。2.掌握函数的嵌套调用、递归调用、数组作为函数参数的设计方法。3.进一步理解变量的作用域和生存期。三、实验内容:1.定义一个求阶乘的递归调用函数doublefac(intn),在主函数中调用3次该函数分别求出8!、
2、10!、18!的准确值(结果:8!=40320,10!=3628800,18!=6402373705728000)o编写源程序,给出注释及运行结果。(提示,请参阅教材上188页例7.7的程序)。2.编写一个将n个整数用选择法按由小到大的顺序排序的函数voidsort(intarray)],intn),在主函数中调用两次该函数,对任给出个数分别是10和15的两组整数进行排序。编写源程序,给出注释及运行结果。(提示,请参阅教材上196页例7.12的程序)。3.编写一个求3个学生的各科平均成绩的程序,每个学生有4科成绩,学生成绩存放在a数组中,求平
3、均成绩需调用函数voidaver(floatarray!
4、
5、4],intn),「65677060_n为学生数,其中a数组的矩阵表示为A=80879081。编写源程序,909910098给出注释及运行结果,自己试着增加学生数或者成绩科数再运行程序。(提示,可参阅教材198页例7」3的程序,注意按科平均成绩可存入数组A中,只需将A增加1行并先付初值0,求出平均值之后替换0)四、实验结果:1.定义一个求阶乘的递归调用函数doublefac(intn),在主函数中调用3次该函数分别求出8!、10!、18!的准确值(结果:8!=40320,10!=36
6、28800,18!=6402373705728000)o编写源程序,给出注释及运行结果。(1)程序及注释#includevoidmain()doublefac(intn);//声明fac函数inta=&b=10,c=18;doublei,j,k;i=fac(a);//调用函数fac()j=fa"b);//调用函数fac()k=fac(c);//调用函数fac()printf(H%d!=%.Of,,,a,i);printf(M%d!=%.Ofn,b,j);printf(H%d!=%.Ofn,c,k);}double
7、fac(intn)〃定义fac函数{doublef;if(n<0)printf(Mnuoidmain()8、ntn);//声明"c函数inta=8fb=10fc=18;doubleifjfk;i=Fac(a);//ig用函数fac()j-fac(b);//ig用函数fac()k-Fac(c);〃週用函数Fac()printfC^d?=t.0f,efafi);printfC^dt^.OFXn-.b,j);printFC^d!-%.8Feifcfk);>doubleFac(intn)//定义Fac函数doublef;if(n<0)printf(ian9、
10、n««1)//n»0o
11、^1F-1;elseF=fac(n-1)«n;//调用递归函数Fac()实现阶乘运算return(F);>1.编写一个将n个整数用选择法按由小到大的顺序排序的函数voidsort(intan*ay[],intn),在主函数中调用两次该函数,对任给出个数分别是10和15的两组整数进行排序。编写源程序,给出注释及运行结果。(1)程序及注释#includevoidmain(){voidsort(intarray[],intn);〃声明sort函数inta[10],b[15],i,j;printf("enterarraya:")
12、;//分别输入两组数据for(i=0;i<10;i++)scanf(M%dM,&a[i]);printf("enterarrayb:rf');for(j=0;j<