全国计算机等级考试二级C语音上机题库2011年3月1.docx





《全国计算机等级考试二级C语音上机题库2011年3月1.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语音上机题库2011年3月1.docx(165页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下列给定程序中,函数fun的功能是:计算S=H-n)+f(-n+l)+.+f(0)+f(l)+f(2)+.f(n)的值。 例如,当n为5时,函数值应为10.407143o f(x)函数定义如下:f(x尸请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include #include #include fi;double x)(ifi(x=0.0|x=2.0)return 0.0;else if(x0.0)return(x-l)/(x-2);elseretum(x+l)/(x-2);)double fun(
2、int n)|int i; double s=0.0,y;fbr(i=-n; i=n;i-H-) y=fi1.0*i); s+=y;/* fund */ return svoid main() system(”CLS”);printf(n%fnM, fun(5);【参考答案】(1)错误:fifdoublc x)正确:double Rdoublc x)错误:return s正确:return s;t=l+l/2+l/3+l/4+l/m例如,若输入5,则应输出2.283333o请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#
3、include #include #include double fun(int m)double t=1.0;int I;fbr(I=2;l=m;l-H-)t+=1.0/k;return 1;void main()int m;system(HCLSn);printfiCnPlease enter 1 integer number:);scanf(n%dn,&m);printfi(HnThc result is fun(m);【参考答案】正确:t+=1.0/I;正确:return t;(1)错误:t+=LO/k;(2)错误:return I;下列给定程序中,函数fun的功能是:分别统计字符串中
4、大写字母和小写字母的个数。例如,给字符 串 s 输入:AaaaBBbl23CCccccd,则应输出结果:upper=5,lower=9。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#includevoid fiin(char *s,int a,int b)while(*s)/*命und*/ if(*s=,A, & *sv=Z)a+;/*tound*/ifi(*s=,a & s=,z,) b+;s+;) main()char s100;int upper=0,lower=0;printfifnplease
5、 a stringgets(s);ftin(s,&upper,&lower);printfl(,n upper=%d lower=%dnupper,lower);【参考答案】(1)错误:void ftin(char *s, int a, int b) 正确:void fun(char *s, int *a, int *b) 错误:正确:(*a)+;错误:b+;正确X*b)+;下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出 应该是20。若输入202,则输出应该是0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行
6、,也不得更改程序的结构。试题程序:#include #include long fun(long num) /* * und */ long k;dok *=num%10;/*tound*/ num =10;while(num);retum(k);main() int n;printffPlcase enter a number: );scanf(n%ldn,&n);printf(Mn%ldnn,fun(n);)【参考答案】错误longk;正确:longk=l;(2)错误:num=10;正确:num/ =10;下列给定程序中函数fun的功能是:计算n!。例如,给n输入5,则输出120.0000
7、00。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#includc #include double fun(int n) double result =1.0;/* Qund */ifn=0return 1.0;while(n 1 &n 170)/*tound*/result=n-; return result;void main()int n;printf(MInput N:M);scanf(M%d,&n);printf(Mnn%d!=%lfnM,n,fiin(n);【参考答案】错误:if n=0正确:if(n=0)
8、(2)错误:result =n-;正确:result *=n-;下列给定的程序中,函数ftm的功能是:计算并输出k以内最大的10个能被13或17整除的自然 数之和。k的值由主函数传入,若k的值为500,则函数的值为4622o请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include #include int fiin(int k) int m=0,mc=0, j;while(k=2)&(mc10) *if(k%13=0)|(k%17=0) m=m+k;mc+;k;/* */return m;)void
9、 main()system(,CLSM);printff%dn M,fiin(500);)【参考答案】错误 M(k%13=0)|(k%17=0) 正确:if(k% 13=0)|(k% 17=0) (2)错误:缺少大括号正确:加下列给定程序中,函数ftin()的功能是:根据整型形参m的值,计算如下公式的值:请改正函数ftin()中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include #include double fun(int m) double y=1.0;int 1;/* f)und */ fbr(I=
10、2;Im;I-H-)/* */y-=l/(I*I); retum(y);void main()int n=5;system(nCLSM);printf(nnThe result is %lfnn, ftin(n);【参考答案】错误:fbr(i=2;im;iH) 正确:fbr(i=2;iv=m;i+)(2)错误:y=l/(i*i);正确:y=L0/(i*i);在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程 序中,函数fun的功能是:计算数组元素中值为正数的平均值(不包括0)。例如,数组中元素的值依 次为39,-47,21,2,-8,15,0,则程序的运行结果
11、为19.250000=请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include double fun(int x) /*tound*/ int sum=0.0;int c=0,1=0;while(xI!=0)sum+=xI; c+;I+;/*向und*/ sum=sumc;return sum;【参考答案】(1)错误:int sum=0.0;(2)错误:sum=c;正确:double sum=0.0;正确:sum/=c;下列给定程序中,函数fun的功能是:判断一个整数m是否是素数,若是返回1,否则返
12、回0。在main 函数中,若ftm()返回1则输出“YES”,若ftm()返回0则输出“NO!”。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include #includc int fun(int m) int k=2;while (k=m&(m%k)if(m=k)return 1; else return 0;void main() int n;system(nCLSH);printf(MnPlease enter n: *);scanf(H%dH,&n);if(ftin(n) printf(,Y
13、ESnM);else printfi(,NO!nH);【参考答案】(1)错误:k+(2)错误:if(m=k)正确:k+;正确:if(m=k)下列给定程序中,函数fun的功能是:按如下递归公式求函数值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#includc /* * )und */ int fun(n)int c;if(n=l)c=10; elsec=fun(n-l)+2; retum(c);int n;printfif1 Enter n:);scan
14、fC%d”,&n);printffThe result: %dnnn ,fun(n);【参考答案】错误:int fun(n)正确:int fun (int n)(2)错误:if (n=l)正确:if (n=l)下列给定程序中,函数fun的功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一项起, 斐波拉契级数序列为1,1,2,3,5,8,13,21,例如,若给n输入7,该项的斐波拉契级数值为13。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include long fun(int g)/* */ switch(g)
15、;case 0:return 0;case 1; case 2: return 1;return (fun(g-1 )+fun(g-2);void main()long fib; int n;printtflnput n:);scanff%d”,&n);printf(Mn=%dnM,n);fib=fun(n);printfi(Hfib=%dnnn,fib);【参考答案】错误:switch(g);正确:去掉分号错误:case l;case 2: return 1;正确:case 1 :case 2:return 1;下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a0
16、中的数对 调、次最大数和al中的数对调。请改正程序中的错误,使它能得出正确的结果.注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:/include#include#define N 20/*向und*/ void fun(int *a,int n);int I, m, t, kfbr(l=O; In;I+)/*eund*/m=0;fbr(k=I+l; kam)m=k;t=aI;aI=am;am=t;)main()(int bN= 11,5,1203,6,9,7J0,8 ,n= 10,i;system(uCLSM);fbr(i=0; in; i-H-)printf(H
17、%d bi);printfi(,nH);fun(b,n);fbr(i=0; in; i+)printf(n%d , bi);printffW);【参考答案】(1)错误:void fiin(int *a, int n);正确:void fun(int *a, int n)错误:m=0;正确:m=i;下列给定程序中,函数fun的功能是:将十进制正整数m转换成进制数,并按位输出。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)o请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #
18、include void fiin(int m,int k); int aa20, i;fbr(i=0;m;i-H-)/*Qy|-| J* */ aai=m/k;m/=k;main()int b,n;printffVnPlease enter a number and a base:nM);scanf(M%d%dM,&n,&b);ftin(n,b);printffn ”);【参考答案】(1)错误:void fun(int m, int k);正确:void fun(int m, int k)错误:aai=m/k ;正确:aai=m%k;(3)错误:printfC%d,aai);正确:print
19、f(”d”, aai-l);下列给定程序中,函数fun的功能是:计算函数F(x,y,z尸(x+y)/(xy)+(z+y)/(zy)的值。其中x和y 不相等,z和y不等。例如,当x的值为9,y的值为U,z的值为15时,函数值为350。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#includc #include #includc /*8und*/define FU(m,n) (m/n)float fiin(float a,float b,float c) float value;value=FU(a+b,a-b)+FU(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语音 上机 题库 2011

限制150内