全国计算机二级C语言试题库.docx
《全国计算机二级C语言试题库.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言试题库.docx(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+l)+f(0)+f(l)+f(2)+f(n)的值。 例如,当n为5时,函数值应为10.407143。f(x)函数定义如下:f(x)=请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#indude #include #include #include /* f o und*I f(double x)if(x=O.O| |x=2.0) return 0.0;else if(x0.0) return(x-l)/(x-2);else return(x+l)/(x-2)
2、;double fun(int n)int i; double s=O.Ozy;for(i=-n; i=n;i+)y=f(1.0*i); s+=y;/*found*/ return s|void main()system(CLS);printf(fn”,fun(5);正确:double f(double x)正确:return s;【参考答案】(1)错误:f(double x)(2)错误: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;for(l=2;l=m;l+)t+=l.O/k;return I;void main()int m;system(CLS);printf(nPlease enter linteger number:);scanf(”d”,&m);printf(nThe result is %lfn/ fun(m);)【参考答案】错误:t+=l.O/k;正确:t+=1.0/l;(2)错误:return I;正确:return t;下列给定程序中,函数fun的功能是:分别统
4、计字符串中大写字母和小写字母的个数。例如,给 字符串 s 输入:AaaaBBbl23CCccccd,则应输出结果:upper=5,lower=9。请改正程序中的错误,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include/*found*/void fun(char *s,int a,int b)while(*s)/*found*/if(*s=a & *s=z) b+;s+;main()(char s100;int upper=0Jower=0;printf(nplease a stringgets(s);fun(s,
5、&upper/&lower);printf(n upper=%d lower=%dn/upper,lower);【参考答案】(1)错误:void fun(char *sz int a, int b)正确:void fun(char *s, int *a, int *b)(2)错误:a+;正确:(*a)+;错误:b+;正确:(*b)+;下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252, 则输出应该是20。若输入202,则输出应该是0。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#inc
6、lude #include long fun(long num) long k; dok *=num%10;/*found*/ num =10;while(num);return(k);) main()(int n;printf(Please enter a number:);scanf(ld”,&n);printf(n%ldn/fun(n);【参考答案】错误:long k;正确:long k=l;错误:num=10;正确:num/ =10;下列给定程序中函数fun的功能是:计算n!o例如,给n输入5,则输出120.000000。 请改正程序中的错误,使程序能输出正确的结果。注意:不要改动ma
7、in函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include double fun(int n)double result =1.0;/*found*/if n=0return 1.0;while(nl&n170)/*found*/ result=n-;return result; void main()int n;printf(lnput N:);scanf(%d”,&n);printf(nn%d!=%lfn/n,fun(n);【参考答案】(1)错误:if n=0正确:if(n=O)错误:result =n-;正确:result *=n;下列给定的程序中,函数
8、fun的功能是:计算并输出k以内最大的10个能被13或17整除的自 然数之和。k的值山主函数传入,若k的值为500,则函数的值为4622。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include #include int fun(int k)int m=O,mc=O, j;while(k=2)&(mc10)/*m*found* * * / if(k%13=0)| |(k%17=0)m=m+k;mc+;k;/*m*found* * Ireturn m;void main()system(CLSH);p
9、rintf(%dn ,fun(500);【参考答案】错误:if(k%13=0)| |(k%17=0)正确:if(k%13=0)| |(k%17=0)错误:缺少大括号正确:加卜.列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如卜公式的值: 请改正函数fun()中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include #include #include double fun(int m) double y=1.0;int I;/* * * found for(l=2;lm;l+)/* *foundy-=l/(l*l)
10、;return(y);)void main()int n=5;system(CLS);printf(nThe result is %lfn, fun(n);【参考答案】(1)错误:for(i=2;im;i+) 正确:for(i=2;i=m;i+)(2)错误:y-=l/(i*i);正确:y-=1.0/(i*i);在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给 定程序中,函数fun的功能是:计算数组元素中值为正数的平均值(不包括0)。例如,数组中元素 的值依次为39,-47,21,2,-8,15,0,则程序的运行结果为19.250000 请改正程序中的错误,使它能
11、得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include double fun(int x) /*found*/ int sum=0.0;int c=0,1=0;while(xl!=0)sum+=xl;C+;)I+;/*found*/ sum=sumc;return sum;【参考答案】正确:double sum=0.0;正确:sum/=c;(1)错误:int sum=0.0;(2)错误:sum=c;下列给定程序中,函数fun的功能是:判断一个整数m是否是素数,若是返回1,否则返回0。在 main函数中,若fun()返回1则
12、输出YES,若fun()返回0则输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include #include int fun(int m)int k=2;while (k=m&(m%k)/*found* * * / k+/*m*found* * / if(m=k)return 1;else return 0;|void main()int n;system(CLS);printf(nPlease enter n:);scanf(“d”,&n);if(fun(n) printf(YESn);
13、else printf(HNO!n);【参考答案】错误:k+(2)错误:if(m=k)正确:k+;正确:if(m二二 k)下列给定程序中,函数fun的功能是:按如下递归公式求函数值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14.请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include int fun(n)int c;if(n=l)c=10;elsec=fun(n-l)+2;return(c);void main()int n;printf(Enter n:);scanf(%d,&n);print
14、f(The result: %dnn ,fun(n);【参考答案】错误:int fun(n)正确:int fun (int n)错误:if(n=l)正确:if(n=l)下列给定程序中,函数fun的功能是:用递归算法计算斐波拉契级数列中第n项的值。从第一 项起,斐波拉契级数序列为1,1,2,3,5,8,13,21,例如,若给n输入7,该项的斐波拉契级数值为 13。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#indude */long fun(int g)/*founcl switch(g);case Orreturn 0
15、;/*foundcase 1; case 2:return 1;return (fun(g-l)+fun(g-2);void main()long fib; int n;printf(,lnputn:);scanf(%d/&n);printf(,n=%dn,/n);fib=fun(n);printf(fib=%dnn/fib);)【参考答案】(1)错误:switch(g);正确:去掉分号(2)错误:case l;case 2: return 1;正确:case l:case 2:return 1;下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a中的数 对调、次最大
16、数和al中的数对调。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include #include #define N 20void fun(int *ajnt n);(int I, m, t, k;for(l=0; ln;l+)(/* *fou nd*/m=0;for(k=l+l; kam)m=k;t=al;al=am;am=t;main()(int bN=ll,5,12,0,3,6,9,7,10,8,n=10,i;system(CLS);for(i=0; in; i+)printf(%d ,bi);printf(n
17、);fun(b,n);for(i=0; in; i+)printf(%d , bi);printf(n);【参考答案】错误:void fun(int *a, int n);正确:void fun(int *a, int n)(2)错误:m=0;正确:m=i;下列给定程序中,函数fun的功能是:将卜进制正整数m转换成进制数,并按位输出。例如,若 输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000) 请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:/include tfinclude /* f 0 und
18、*Ivoid fun(int mjnt k);int aa20z i;for(i=0;m;i+)/*found*/ aai=m/k;m/=k;for(;i;Hprintf(%d,aai);)main()int b,n;printf(nPlease enter a number and a base:nH);scanf(%d%d/&n/&b);fun(nzb);printf(n );)【参考答案】(1)错误:void fun(int m, int k);正确:void fun(int m, int k)错误:aai=m/k;正确:aai=m%k;(3)错误:printf(%d”, aai);正确
19、:printf(”%d”, aai-l);下列给定程序中,函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y 不相等,z和y不等。例如,当x的值为9,y的值为ll,z的值为15时,函数值为-3.50。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:ftinclude /include #include #define FU(m,n) (m/n)float fun(float a,float b,float c)float value;value=FU(a+b/a-b)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 语言 试题库
限制150内