版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c语言笔试真题标签:笔试题目2021-11-24【-笔试题目】下面由我们YJBYS求职网专家为您共享关于二级c语言笔试真题,请您参考:函数fun的功能是:计算正整数n的所有因子1和n除外之和作为函数值返回。例如:n=120时,函数值为239。#includeconio.h#includestdio.hintfun(intn)int_1_,s=0;/*能整除n的天然数即称为因子*/for(i=2;ii+)if(n%i=0)s=_2_;return(s);main()/*主函数*/printf(%dn,fun(120);2020年2月解析:此题的考核点是计算n所有因子的算法。解题思路:判定因子的方
2、法是:能被n整除的数。由于题意中指明需将1和n除外,所以循环的范围应从2至n-1。答案:1:i2:s+i答案:【1】i【2】s+i【真题2】已知一个数列的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序modi.c中函数fun的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。例如,当n10时,程序的输出结果应为:23.197745。请改正函数fun中的毛病,使程序能输出正确的结果。留意:不要改动main函数,#includeconio.h#includestdio.h#includemath.h/*found*/fun(intn)doublesum,s0
3、,s1,s2,s;intk;sum=1.0;if(n=2)sum=0.0;s0=0.0;s1=0.0;s2=1.0;for(k=4;k=n;k+)s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;/*found*/returnsummain()intn;clrscr();printf(InputN=scanf(%d,printf(%fn,fun(n);2020年2月解析:此题的考核点是C语言中的函数的入口参数和类型转换。C语言规定,凡不加类型讲明的函数,一律自动按整型处理。假如函数有返回值,这个值当然应属于某一个确定的类型,应当在定义函数时指定函数值的类型。根据
4、题意,函数返回值为实型,所以第一处毛病fun(intn)应改为floatfun(intn)或具有一样作用的句子。函数的返回值是通过函数中的return语句获得的。return语句后面的括弧能够不要,但分号不能少,必需加分号。所以,第二处毛病应改为returnsum;或一样作用的句子。假如函数值的类型和return语句中表达式的值不一致,则以函数类型为准。对数值型数据,能够自动进行类型转换。即函数类型决定返回值的类型。本评析仅作参考。【真题3】请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为F(0)0,F(
5、1)1,F(n)=F(n-1)+F(n-2)例如:t=1000时,函数值为987。留意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#includeconio.h#includemath.h#includestdio.hintfun(intt)main()intn;clrscr();n=1000;printf(n=%d,f=%dn,n,fun(n);2020年2月解析:intfun(intt)inta=1,b=1,c=0,i;/*a代表第n-2项,b代表第n-1项,c代表第n项*/*假如求得的数c比指定比较的数小,则计算下一个Fibonacci数,对a,b从新置数*/doc=a+b;a=b;b=c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论