全国计算机二级C语言试题库Word文件下载.docx

上传人:b****6 文档编号:20295968 上传时间:2023-01-21 格式:DOCX 页数:118 大小:50.20KB
下载 相关 举报
全国计算机二级C语言试题库Word文件下载.docx_第1页
第1页 / 共118页
全国计算机二级C语言试题库Word文件下载.docx_第2页
第2页 / 共118页
全国计算机二级C语言试题库Word文件下载.docx_第3页
第3页 / 共118页
全国计算机二级C语言试题库Word文件下载.docx_第4页
第4页 / 共118页
全国计算机二级C语言试题库Word文件下载.docx_第5页
第5页 / 共118页
点击查看更多>>
下载资源
资源描述

全国计算机二级C语言试题库Word文件下载.docx

《全国计算机二级C语言试题库Word文件下载.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言试题库Word文件下载.docx(118页珍藏版)》请在冰豆网上搜索。

全国计算机二级C语言试题库Word文件下载.docx

printf("

%f\n"

fun(5));

【参考答案】

(1)错误:

f(doublex)正确:

doublef(doublex)

(2)错误:

returns正确:

returns;

t=1+1/2+1/3+1/4+…+1/m

例如,若输入5,则应输出2.283333。

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

试题程序:

doublefun(intm)

doublet=1.0;

intI;

for(I=2;

I<

=m;

I++)

t+=1.0/k;

returnI;

{intm;

system("

\nPleaseenter1integernumber:

"

scanf("

%d"

&

m);

\nTheresultis%1f\n"

fun(m));

t+=1.0/k;

正确:

t+=1.0/I;

returnI;

returnt;

分别统计字符串中大写字母和小写字母的个数。

例如,给字符串s输入:

AaaaBBb123CCccccd,则应输出结果:

upper=5,lower=9。

#include<

/*********found***********/

voidfun(char*s,inta,intb)

while(*s)

{

/*********found***********/

if(*s>

='

A'

&

&

*s<

Z'

a++;

a'

z'

b++;

s++;

}

main()

chars[100];

intupper=0,lower=0;

\npleaseastring:

"

gets(s);

fun(s,&

upper,&

lower);

\nupper=%dlower=%d\n"

upper,lower);

voidfun(char*s,inta,intb)

正确:

voidfun(char*s,int*a,int*b)

a++;

(*a)++;

(3)错误:

b++;

(*b)++;

下列给定程序中函数fun的功能是:

计算正整数num各位上的数字之积。

例如,若输入252,则输出应该是20。

若输入202,则输出应该是0。

longfun(longnum)

longk;

do

k*=num%10;

/*************found**************/

num\=10;

}while(num);

return(k);

intn;

\Pleaseenteranumber:

%ld"

n);

\n%ld\n"

fun(n));

longk;

longk=1;

num\=10;

num/=10;

计算n!

例如,给n输入5,则输出120.000000。

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

{doubleresult=1.0;

ifn==0

return1.0;

while(n>

1&

n<

170)

result=n--;

returnresult;

InputN:

\n\n%d!

=%lf\n"

n,fun(n));

ifn==0正确:

if(n==0)

result=n--;

result*=n--;

下列给定的程序中,函数fun的功能是:

计算并输出k以内最大的10个能被13或17整除的自然数之和。

k的值由主函数传入,若k的值为500,则函数的值为4622。

intfun(intk)

{intm=0,mc=0,j;

while((k>

=2)&

(mc<

10))

if((k%13=0)||(k%17=0))

{m=m+k;

mc++;

k--;

returnm;

{system("

%d\n"

fun(500));

if((k%13=0)||(k%17=0))

if((k%13==0)||(k%17==0))

缺少大括号正确:

加}

下列给定程序中,函数fun()的功能是:

根据整型形参m的值,计算如下公式的值:

请改正函数fun()中的错误,使它能得出正确的结果。

{doubley=1.0;

m;

I++)

y-=1/(I*I);

return(y);

{intn=5;

fun(n));

for(i=2;

i<

i++)

y-=1/(i*i);

y-=1.0/(i*i);

在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。

计算数组元素中值为正数的平均值(不包括0)。

例如,数组中元素的值依次为39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。

doublefun(intx[])

intsum=0.0;

intc=0,I=0;

while(x[I]!

=0)

if(x[I]>

0)

{

sum+=x[I];

c++;

I++;

sum=sum\c;

returnsum;

intsum=0.0;

doublesum=0.0;

sum\=c;

sum/=c;

判断一个整数m是否是素数,若是返回1,否则返回0。

在main函数中,若fun()返回1则输出"

YES"

若fun()返回0则输出"

NO!

intfun(intm)

{intk=2;

while(k<

=m&

(m%k))

k++

if(m=k)

return1;

elsereturn0;

{intn;

\nPleaseentern:

scanf("

if(fun(n))printf("

YES\n"

elseprintf("

\n"

k++正确:

k++;

if(m=k)正确:

if(m==k)

按如下递归公式求函数值。

例如,当给n输入5时,函数值为18;

当给n输入3时,函数值为14。

intfun(n)

intc;

if(n=1)

c=10;

else

c=fun(n-1)+2;

return(c);

Entern:

Theresult:

%d\n\n"

fun(n));

intfun(n)正确:

intfun(intn)

if(n=1)正确:

if(n==1)

用递归算法计算斐波拉契级数列中第n项的值。

从第一项起,斐波拉契级数序列为1,1,2,3,5,8,13,21,…例如,若给n输入7,该项的斐波拉契级数值为13。

longfun(intg)

/*************found**************/

switch(g);

{case0:

return0;

case1;

case2:

return1;

return(fun(g-1)+fun(g-2));

longfib;

Inputn:

n=%d\n"

n);

fib=fun(n);

fib=%d\n\n"

fib);

switch(g);

去掉分号

case1;

case2:

case1:

求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。

#defineN20

voidfun(int*a,intn);

intI,m,t,k;

for(I=0;

I<

n;

m=0;

for(k=I+1;

k<

k++)

if(a[k]>

a[m])

m=k;

t=a[I];

a[I]=a[m];

a[m]=t;

intb[N]={11,5,12,0,3,6,9,7,10,8},n=10,i;

for(i=0;

i++)

%d"

b[i]);

fun(b,n);

b[i]);

voidfun(int*a,intn);

voidfun(int*a,intn)

m=0;

m=i;

将十进制正整数m转换成进制数,并按位输出。

例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。

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

voidfun(intm,intk);

{intaa[20],i;

aa[i]=m/k;

m/=k;

for(;

i;

i--)

aa[i]);

intb,n;

\nPleaseenteranumberandabase:

%d%d"

n,&

b);

fun(n,b);

\n"

voidfun(intm,intk);

voidfun(intm,intk)

aa[i]=m/k;

aa[i]=m%k;

printf("

aa[i]);

aa[i-1]);

计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。

其中x和y不相等,z和y不等。

例如,当x的值为9,y的值为11,z的值为15时,函数值为-3.50。

#defineFU(m,n)(m/n)

floatfun(floata,floatb,floatc)

{floatvalue;

value=FU(a+b,a-b)+FU(c+b,c-b);

return(Value);

{floatx,y,z,sum;

Inputxyz:

:

%f%f%f"

x,&

y,&

z);

x=%f,y=%f,z=%f\n"

x,y,z);

if(x==y||y==z)

{printf("

Dataerror!

\n"

exit(0);

sum=fun(x,y,z);

Theresultis:

%5.2f\n"

sum);

#defineFU(m,n)(m/n)

#defineFU(m,n)(m)/(n)

return(Value);

return(value);

先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。

例如,当s中的字符串为ABCDE时,则t中的字符串应为EDCBAABCDE。

string.h>

voidfun(char*s,char*t)

intI,s1;

s1=strlen(s);

for(I=0;

s1;

t[I]=s[s1-1];

t[s1+I]=s[I];

t[2*s1]='

\0'

;

{chars[100],t[100];

\nPleaseenterstrings:

%s"

s);

fun(s,t);

printf("

%s\n"

t);

t[i]=s[s1-1];

t[i]=s[s1-1-i];

求三个数的最小公倍数。

例如,给变量x1、x2、x3分别输入15、11、2,则输出结果应当是330。

intfun(intx,inty,intz)

{intj,t,n,m;

j=1;

t=m=n=1;

while(t!

=0&

m!

n!

j=j+1;

t=j%x;

m=j%y;

n=j%z;

}

returnj;

intx1,x2,x3,j;

Inputx1x2x3:

%d%d%d"

x1,&

x2,&

x3);

x1=%d,x2=%d,x3=%d\n"

x1,x2,x3);

j=fun(x1,x2,x3);

Theminimalcommonmultipleis:

%d\n"

j);

j=1;

j=0;

while(t!

=0)

=0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1