版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
求阶乘1.该fun函数的功能是求10的阶乘。#includelongfun(int3){if( 1 )return(n*fun( 2 ));elseif( 3 )return1;}第一处:n>1第二处:n-1·第三处:n==1解析:从第2、4道:n!=n*(n-1)!这就是一个递归的表达式,写成函数就是fun(n)=n*fun(n-1)行处n-1。又:1!=13,5行就好填了。因此答案是n>1n-1n==1。还有0!=1故,还可填写:n>0n-1n==05行的条件是相反的,这也是ifelse2.程序的功能是计算s=1!+2!+3!+……+n!longfun(intn){inti;longs;4)s= 1 ;5)for(i=1;i<=n;6)s= 2 ;7)returns;8)}main(){longs;intk,n;12)13)s= 3 ;14)for(k=1;k<=n;15)s= 4 ;16)printf("%ld\n",s);17)}第一处:1第二处:s*i第三处:0第四处:s+fun(k)解析:首先,搞清楚函数fun、main各自的功能。Fun是求一个数的阶乘,我们知道:n!=1*2*3*…*n同时要死记住:求积,积的初值一般等于funs是用来存放积的,其初值等于1;求阶乘是连乘,故s=s*iMain是求和,记住:和的初值一般等于0.两个函数中的局部变量sMain中的s最后:注意一些变量的类型。的返回值类型是long。输出中ld是输出长整数。3.请补全main1+2!+3!+…+N!的和。main(){inti,n;longs=0,t=1;//clrscr();printf("\nInputn:\n");6)scanf("%d",17)for(i=1;i<=n;i++)8){9)t= 2 ;10)s= 3 ;11)}12)printf("1!+2!+3!...+%d!=%ld\n",n,s);13)}第一处:&n第二处:t*i第三处:s+t解析:求前n项的阶乘之和。这里没有使用子函数。我们知道:5!=5*4!。即需要利用前一个数的阶乘,还有就是替换。从第3行可知:s存放和,t存放积。输入n,记住应是&n。i是循环变量。记住:填空后,手工地将循环执行几次,检验是否正确。求和、平均值请补全main数,则取它的的绝对值,并显示出来。main(){longintn;clrscr();printf("Enterthedata:\n");scanf( 1 );printf("******theorigialdata********\n");if(n<0) 2 printf("\n\n");printf( 3 }第一处:"%ld",&n第二处:n=-n第三处:"%ld",n解析:此题要注意的是数据类型,输入输出的格式控制。长整数使用ld(或Ld)双精度浮点数使用lf(或Lf)df不能大写请在函数fun011235813……1)intfun(int2)if( 1 )return0;elseif( 2 )return1;elsereturn 3 8)}第一处:n==0第二处:n==1第三处:fun(n-1)+fun(n-2)解析:求斐波契数列:一项等于其前两项的和。这也是一个递归。求斐波契数列的第n项的值,n从0开始。请补全函数n数值返回到main函数。#include#include 1 fun(intn){inta,b,c,k;double6)s=0.0;7)a=2;8)b=1;9)for(k=1;k<=n;k++)10){11)s=s+( 2 )a/( 3 )b;c=a;a=a+b;b=c;15)}16)returns;17)}第一处:double第二处:double第三处:double解析:从第11 14总结出数列的表达式。第1项是a/b=2/1;3/24/3故:s=2/1+3/2+4/3+……和的初值是0。运算结果就是实数。本题希望结果是实数,故要进行强制类型转换,2,3只要有一个进行强制转换就可以了。最后,函数需要有一个返回值类型,当然也是双精度浮点数了。给定程序的功能是计算并输出下列级数的前N项之和SSN大于qq的值通过形参传入。doublefun(doubleq){intn;double4)n=2;5)s=2.0;6)while(s 1 7){8)s=s+(double)(n+1)/n;9) 2 ;10)}11)printf("n=%d\n",n);12) 3 ;13)}第一处:s<=q第二处:n++第三处:returns解析:从第8行,从数学的角度总结出数列的表达式。(n+1)/nn21,故:SN=2+3/2+4/3+大于q为止”,while是满足条件才循环,故填写s<=q最后,函数需要有一个返回值。5.给定程序功能是计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…+f(n)floatf(doublex){if(x==0.0||x==return 1 ;elseif(x<0.0)return(x-1)/(x-2);elsereturn(x+1)/(x-2);}doublefun(intn){inti;doubles=0.0,y;for(i=-n;i<= 2 ;i++){y=f(1.0*i);s+=y;return 3 ;}main(){printf("%f\n",fun(5));}第一处:0.0第二处:n第三处:s解析:函数f(doublex)求每个单项的值。if……else的条件是互斥的。fun()是求和。给定程序的功能是计算scoremaveraver的成绩放在below中,通过函数名返回人数。intfun(intscore[],intm,intbelow[]){inti,j=0;floataver=0.0for(i=0;i<m;i++)aver+=score[i];aver/=(float)m;for(i=0;i<m;i++)if(score[i]<aver)below[j++]= 1 returnj;}main(){inti,n,below[9];intscore[9]={10,20,30,40,50,60,70,80,90};n=fun(score,9, 2 );printf("\nBelowtheaveragescoreare:");for(i=0;i<n;i++)printf("%d", 3 );}第一处:score[i]第二处:below解析:求平均值,应先求和。此处,和与平均值使用了同一个变量。Score[]是原来的成绩,BelowBelow的长度一定不大于score的BelowBelowj。Fun函数中:先求总分,平均分;再比较,比平均分低,存于below,j++。J是后加,不能错了。函数fun的返回值赋值给n,n就是below数组的长度。在主函数中从键盘输入若干个数放入数组x中,用0下列给定程序中,函数fun功能是:输出数组元素中小于平均值的元素。voidfun( 1 ,intn){doublesum=0.0;doubleaverage=0.0;inti=0;for(i=0;i 2 ;average= 3 for(i=0;iif(x[i]{if(i%5==0)printf("\n");printf("%d,",x[i]);}}第一处:intx[]第三处:sum/n解析:算法思想同上题请补全funintfun(intx){inti,s;s= 1 ;for( 2 s+=i;returns;}第一处:0第二处:i=2;i解析:求和,和的初值s为0。最小的非负偶数是0,偶数间的大小关系是相差2。请补全mainS=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+……+50)#include 1 fun(intn){inti,j;doublesum=0.0,t;for(i=1;i<=n;i++){t=0.0;for(j=1;j<=i;j++)t+= 2 ;sum+= 3 }returnsum;}第一处:double第二处:j第三处:1.0/t1+2+3+……+i;组合起来整个就需要二重循环。内循环求每个单项的和,外循环求商的和。每单项的分子是1,应该用浮点数1.0;每单项的分母是求和,和的初值为0.0;函数的返回值是浮点数。main函数,该函数的功能是,计算两个自然数nm(m<10000)nm从键盘输入。main(){intn,m;longsum; 1 clrscr();printf("\nInputn,m\n");scanf("%d,%d",&n,&m);while(n<=m){ 2 n++;}printf("sum=% 3 \n",sum);}第一处:sum=0第二处:sum+=解析:求和问题求最值请补全main函数,该函数的功能是:从键盘上输入3数并输出。main(){inta,b,c,max;clrscr();printf("\nInputthreenumbers:\n");scanf("%d,%d,%d",&a,&b,&c);printf("Thethreenumbersare:%d,%d,%d\n",a,b,c);if(a>b) 1 else 2 if(max 3 ;printf("max=%d\n",max);}第一处:max=a第二处:max=b第三处:max=c解析:若a>b则a较大,将其放入max中;否则将b存于max。此时,max中存放的就是前两个数中较大的,再将max与c比较。函数fun的功能是:从三个形参a,b,cintfun(inta,intb,intc){intt;t=(a>b)?(b>c?b:(a>c?c: 1 )):((a>c)? 2 :((b>c)?c: 3 returnt;}第一处:a第二处:a第三处:b解析:条件表达式的理解。请补全fun函数,该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度车身广告创意内容合作合同3篇
- 停车场照明系统升级合同2025版2篇
- 个人电子产品维修服务合同范文模板(2024版)3篇
- 2025年度企业融资贷款审批服务合同
- 二零二五年度啤酒节活动赞助商权益保障合同
- 皮内针项目可行性研究报告评审方案设计2025年立项标准案例范文
- 二零二五年度新能源储能设备经销商合作协议模板4篇
- 2025年中国透明纸行业市场深度评估及投资方向研究报告
- 个人担保合同(2024年度版):房产抵押贷款担保2篇
- 2025年电缆塑料项目可行性研究报告
- 《医院财务分析报告》课件
- 2025老年公寓合同管理制度
- 2024-2025学年人教版数学六年级上册 期末综合卷(含答案)
- 2024中国汽车后市场年度发展报告
- 感染性腹泻的护理查房
- 天津市部分区2023-2024学年高二上学期期末考试 物理 含解析
- 《人工智能基础》全套英语教学课件(共7章)
- 废铁收购厂管理制度
- 物品赔偿单范本
- 《水和废水监测》课件
- 沪教版六年级数学下册课件【全册】
评论
0/150
提交评论