- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
机试真题
1、函数fun 的功能是:计算正整数n 的所有因子(1 和n 除外)之和作为函数值返回。 例如:n=120 时,函数值为239。
#include conio.h #include stdio.h int fun(int n){ int _1__,s=0;/*能整除n 的自然数即称为因子*/for (i=2;i n;i++)if (n%i==0) s=___2__;return (s);}main() /*主函数*/{ printf(%d\n,fun(120));}解析: 本题的考核点是计算n 所有因子的算法。解题思路:判断因子的方法是:能被n整除的数。由于题意中指明需将1和n除外,所以循环的范围应从2至n-1。答案:1: i 2: s+i
2、已知一个数列的前三项分别为0,0,1, 以后的各项都是其相邻的前三项之和。给定程序modi.c 中函数 fun 的功能是:计算并输出该数列前n项的平方根之和sum。n 的值通过形参传入。 例如,当n=10 时,程序的输出结果应为:23.197745。 请改正函数fun 中的错误,使程序能输出正确的结果。 注意:不要改动main 函数,#include conio.h #include stdio.h #include math.h /************found************/fun(int n){ double sum, s0, s1, s2, s; int k;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************/return sum}main ( ){ int n;clrscr( );printf(Input N=);scanf(%d, n);printf(%f\n, fun(n) );}解析: 本题的考核点是C语言中的函数的入口参数和类型转换。C 语言规定,凡不加类型说明的函数,一律自动按整型处理。如果函数有返回值,这个值当然应属于某一个确定的类型,应当在定义函数时指定函数值的类型。根据题意,函数返回值为实型,所以第一处错误fun(int n)应改为floatfun (int n)或具有相同作用的句子。函数的返回值是通过函数中的return语句获得的。return 语句后面的括弧可以不要,但分号不能少,必须加分号。所以,第二处错误应改为return sum;或相同作用的句子。如果函数值的类型和return语句中表达式的 值不一致,则以函数类型为准。对数值型数据可以自动进行类型转换。即函数类型决定返回值的类型。本评析仅作参考。
3、请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci 数列F(n)的定义为 F(0)=0,F(1) =1,F(n)=F(n-1)+F(n-2) 例如:t=1000 时 ,函数值为987。 注意:部分源程序给出如下。 请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:#include conio.h #include math.h #include stdio.h int fun(int t){…… }main(){int n;clrscr();n=1000;printf(n=%d, f=%d\n,n, fun(n)); }解析:int fun(int t){int a=1,b=1,c=0,i; /*a 代表第n-2 项,b 代表第n-1 项,c 代表第n 项*//*如果求得的数c 比指定比较的数小,则计算下一个Fibonacci 数,对a,b 重新置数*/do {c=a+b;a=b;b=c;}while (c t); /*如果求得的数c 比指定比较的数大时,退出循环*/c=a; /*此时数c 的前一个Fibonacci 数为小于指定比较的数的最大的数*/return c;}
4、下列给定程序中,函数fun()的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a初值为8,b 初值为3,程序运行后a 中的值为3,b 中的值为8。 试题程序:#include conio.h #include stdio.h int fu
文档评论(0)