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

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

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

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

程序填空题

1.给定程序中,函数fun的功能是:判断形参S所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。“回文”是正读和反读都一样的字符串(不区分大小写字母)。

例如,LEVEL和Level是“回文”,而LEVLEV不是。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

1 #include<stdio.h>

2 #include<string.h>

3 #include<ctype.h>

4 int fun(char *s)

5 { char *ip,*rp;

6 /**********found**********/

7 ip___1___;

8 rp=s+strlen(s)-1;

9 while((toupper(*1p)==toupper(*rp))&&(ip<rp)){

10 /**********found**********/

11 1p++;rp ____2___;}

12 /**********found**********/

13 if(ip<rp)___3___;

14 else return 1;

15 }

16 main()

17 { char s[81];

18 printf(’’Enter a string:’’);scanf(’’%s’’,s);

19 if(fun(s))printf(’’in\’’%s\’’is a palindrome.\n\n’’,s);

20 else printf(’’in\’’%s\’’ist’t a Palindrome.\n\n’’,s);

21 }

(1)s

(2)–

(3)return 0

解析:函数fun的功能是:判断形参s所指字符串是否是“回文”,即比较第一个字符和最后一个字符是否相同,第二个字符和倒数第二个字符是否相同,依此类推,可以用循环来实现。

第一空:“rp=s+strlen(s)-1;”可知rp指向最后一个元素,因此,lp是指向第一个元素,故第一空应为“s”。

第二空:“lp++;rp__2___;”lp往后移动,rp应该往前移动,故第二空处应为“–”。

第三空:“if(lp<rp)”成立说明lp和rp比较没有比较到字符串的最中间的字符,也就是说s字符串不是回文,因此,第三空处的应为“return 0”。

程序修改题

2.给定程序MODI1.C中fun函数的功能是:求出以下分数序列的前n项之和。

和值通过函数值返回main函数。

例如,若n=5,则应输出:8.391667。

请改正程序中的错误,使它能得出正确的结果。

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

1 #include<stdio.h>

2 /**********found**********/

3 fun(int n)

4 { int a=2,b=1,c,k;

5 double s=0.0;

6 for (k=1; k<=n; k++)

7 { s=s+1.0 *a/b;

8 /***********found***********/

9 c=a;a+=b;b+=c;

10 }

11 return(s);}

12 main()

13 { int n=5;

14 print f(\\

(1)double fun(int n)

(2)c=a;a+=b;b=c;

解析:本题中函数的功能是求出分数序列的前n项之和。首先根据题干中给出的公式推出每一项之间的关系,求出每一项的表达式,然后求得数列的和。每一项的分母是前一项的分子,分子是前一项分子和分母的和。

(1)fun函数中的语句“doubles=0.0;”以及“return(s);”说明fun函数具有double返回值,所以应将“fun(int n)”改为“double fun(int n)”。

(2)根据题干中给出的公式可以推出每一项的特点,知道每一项的b值是前一项的c值,所以第二个标识下“b+=c;”改为“b=c;”。

程序设计题

3.请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入XX所指的数组中。例如,若输入17,5,则应输出:19,23,29,31,37。

注意:部分源程序在文件PROG1.C文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

1 #include<stdio.h>

2 void fun(int m,int k,int xx[])

3 {

4 }

5 main()

6 {

7 int m,n,zz[1000];void NONO();

8 printf(’’\nPlease enter two integers:’’);

9 scanf(’’%d%d’’,&m,&n);

10 fun(m,n,zz);

11 for(m=0;m<n,m++)

12 printf(’’%d’’,zz[m]);

13 printf(\\

1 int r=0,temp,p,sign=1;

2 for(temp=m+1;temp<m*m;temp++)

3 //从temp开始循环,判断紧靠temp的整数

4 { for(p=2;p<temp;p++)

5 {if(temp%p!=0)//判断temp是否为素数

6 sign=1;//若是素数,标志设为l

7 else

8 {sign=0;//若不是素数,标志设为0

9 break; }

10 }

11 if(sign==1&&p>=temp)

12 {if(k>=0) //判断已有的素数个数是否已经满足sum个

13 {xx[r++]=temp;//将素数temp存入数组select

14 k–;//将题目中要求的素数个数减1

15 }

16 else

17 break;

18 } }

解析:(1)该程序功能是取大于整数m且紧靠m的k个素数。其中,素数是指只能被1和自身除尽的正整数(>1),所以判别n是否为素数,只要用2~n-1这些数逐个去除n,判断余数是否为0即可。只要有一次余数为0,n就不是素数,否则n为素数。

(2)从已给部分源程序的main主函数开始入手,核心函数“fun(m,n,zz);”中的参数

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号