首页 > 全部 > 二级C语言 > 国家二级C语言机试(操作题)模拟试卷708

国家二级C语言机试(操作题)模拟试卷708

本单篇文档共2242字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 3488人下载
价格: 2.00 原价:¥8.00
收藏

国家二级C语言机试(操作题)模拟试卷708

程序填空题

1.函数fun的功能是:计算

直到

(1)x

(2)n

(3)fabs(t)

解析:函数fun的功能是计算级数和。 第一空:“f=1.0+x;”f的初始化为级数的前两项之和,do while循环从第三项x2/2开始计算,第一空处是给t赋初值,t表示级数项,“n++;t*=(-1.0)*x/__2__;”即第一次进入do循环之后n的值为2,故t的初值应该为x,第一空处应为“x”。

第二空:由审题分析可知,后一项乘(-1)*x除以n,故第二空处应为“n”。

第三空:循环的终止条件是(xn/n!)的绝对值小于1e-6,即只要(xn/n!)大于等于1e-6,do循环就执行,故第三处应为“fabs(t)”,labs函数的功能是求绝对值。

程序修改题

2.给定程序MODI1.C中函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

1 #include<stdio.h>

2 long fun(int x,int y,long *p)

3 { int i;

4 long t=l;

5 /**********found**********/

6 for(i=l;i<y;i++)

7 t=t *x;

8 *p=t;

9 /**********found**********/

10 t=t/1000;

11 return t;

12 }

13 main()

14 { long t,r;int x,y;

15 printf(’’\nlnput x and y:’’);scanf(’’%1d%1d’’,&x,&y);

16 t=fun(x,y,&r);

17 printf(’’\n\nx=%d,y=%d,r=%1d,last=%1d\n\n’’,x,y,r,t);

18 }

(1)for(i=1;i<=y;i++)

(2)t=t%1000;

解析:函数的功能是求整数x的Y次方的低3位值。(1)第一个标识下的“for(i=l;i<y;i++)”说明进行了y-1次方,而不是y次方,所以将“for(i=1;i<y;i++)”改为“for(i=1;i<=y;i++)”。(2)题目中要求截取前面求得结果的低三位,因此,第二个标识下“t=t/1000;”应该改为“t=t%1000;”。

程序设计题

3.请编写函数fun,其功能是:计算并输出当x<0.97

时下列多项式的值,直到|Sn-Sn-1|<0.000001为止。

1 int n=1; /*循环计数*/

2 double sn=1; /*累计数*/

3 double xn=l,xn1=0; /*x的n值,以及x的n-1值;*/

4 while(fabs(xn-xn1)>=0.000001)/*绝对值是否满足条件*/

5 {

6 xn=xn*x*(0.5-n+1)/n;/*表达式分解以后xn=(xn-1)*x*(0.5-n+1)/n*/

7 n+=1;

8 sn+=xn;} /*sn累加上xn*/

9 return (sn);

解析:(1)根据题干中给出的数列,推出每一项分子是在前一项分子的基础上乘以(0.5-n+1)*x,分母则为阶乘,也就是在前一项分母的基础上乘以n。

(2)在循环中求得每一项,然后对其进行累加求和。

本文档预览:3600字符,共2242字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(操作题)模拟试卷708

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号