机试练习43140套含答案Word文档格式.docx

上传人:b****1 文档编号:5270784 上传时间:2023-05-04 格式:DOCX 页数:27 大小:20.67KB
下载 相关 举报
机试练习43140套含答案Word文档格式.docx_第1页
第1页 / 共27页
机试练习43140套含答案Word文档格式.docx_第2页
第2页 / 共27页
机试练习43140套含答案Word文档格式.docx_第3页
第3页 / 共27页
机试练习43140套含答案Word文档格式.docx_第4页
第4页 / 共27页
机试练习43140套含答案Word文档格式.docx_第5页
第5页 / 共27页
机试练习43140套含答案Word文档格式.docx_第6页
第6页 / 共27页
机试练习43140套含答案Word文档格式.docx_第7页
第7页 / 共27页
机试练习43140套含答案Word文档格式.docx_第8页
第8页 / 共27页
机试练习43140套含答案Word文档格式.docx_第9页
第9页 / 共27页
机试练习43140套含答案Word文档格式.docx_第10页
第10页 / 共27页
机试练习43140套含答案Word文档格式.docx_第11页
第11页 / 共27页
机试练习43140套含答案Word文档格式.docx_第12页
第12页 / 共27页
机试练习43140套含答案Word文档格式.docx_第13页
第13页 / 共27页
机试练习43140套含答案Word文档格式.docx_第14页
第14页 / 共27页
机试练习43140套含答案Word文档格式.docx_第15页
第15页 / 共27页
机试练习43140套含答案Word文档格式.docx_第16页
第16页 / 共27页
机试练习43140套含答案Word文档格式.docx_第17页
第17页 / 共27页
机试练习43140套含答案Word文档格式.docx_第18页
第18页 / 共27页
机试练习43140套含答案Word文档格式.docx_第19页
第19页 / 共27页
机试练习43140套含答案Word文档格式.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

机试练习43140套含答案Word文档格式.docx

《机试练习43140套含答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《机试练习43140套含答案Word文档格式.docx(27页珍藏版)》请在冰点文库上搜索。

机试练习43140套含答案Word文档格式.docx

例如a=3,n=6,则以上表达式为:

s=333333-33333-3333-333-33-3

其值是296298。

a和n是函数fun的形参,表达式的值作为函数值传回main函数。

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

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

longfun(inta,intn)

intj;

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

longs=0,t=1;

for(j=0;

j<

j++)

t=t*10+a;

s=t;

for(j=1;

n;

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

t=t%10;

s=s-t;

}

return(s);

main()

inta,n;

printf("

\nPleaseenteraandn:

scanf("

%d%d"

&

a,&

n);

\nThevalueoffunctionis%ld\n"

fun(a,n));

(1)错误:

longs=0,t=1;

正确:

longs=0,t=0;

(2)错误:

for(j=0;

j++)

正确:

(3)错误:

t=t%10;

t=t/10;

第三十二套

请补允函数fun,该函数的功能是:

计算并输出下列多项式的值。

例如,若主函数从键盘给n输入50后,则输出为S=1.960784。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填若干表达式或语句。

【1】fun(intn)

inti,j;

doublesum=0.0,t;

for(i=1;

i<

i++)

t=0.0;

for(j=1;

=i;

t+=【2】;

sum+=【3】;

returnsum;

intn;

doubles;

\nInputn:

s=fun(n);

\n\ns=%f\n\n"

s);

(1)double

(2)j(3)1.0/t或(double)1/t

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

例如,若m的值为5,则应输出:

1.463611。

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

doublefun(intm)

{doubley=1.0;

inti;

for(i=2;

m;

y+=1/(i*i);

return(y);

{intn=5;

system("

\nTheresultis%1f\n"

fun(n));

for(i=2;

i++)

for(i=2;

=m;

y+=1/(i*i);

y+=1.0/(i*i);

第三十三套

程序的功能是计算。

请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。

longfun(intn)

intI;

longs;

s=【1】;

for(I=1;

s=【2】;

returns;

intk,n;

s=【3】;

for(k=0;

k<

k++)

s=【4】;

%ld\n"

(1)1

(2)s*i或i*s(3)0(4)s+fun(k)

数列中,第一项为3,后一项都比前一项的值增5。

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

计算前项的累计和。

在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数里。

如当n的值为20时,该数列为3,8,13,18,23,28,…,93,98。

符合此条件的累加值应为42,126,366,570,1010。

#defineN20

intfun(intn,int*a)

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

{intI,j,k,sum;

sum=0;

for(k=3,I=0;

I++,k+=5)

{sum=sum+k;

if(sum%4=2)

a[j++]=sum;

returnj;

{inta[N],d,n,i;

\nEntern(4<

=n<

=50):

d=fun(n,a);

\n\nTheresult:

\n"

for(i=0;

d;

i++)printf("

%6d"

a[i]);

\n\n"

inti,j,k,sum;

inti,j=0,k,sum;

if(sum%4=2)正确:

if(sum%4==2)

returnj;

returnj++;

第三十四套

求1+2!

+3!

+…+N!

的和。

例如,1+2!

+…+5!

+6!

的和为873。

intI,n;

longs=0,t=1;

\n"

{

t=【2】;

s=【3】;

}

1!

+2!

...+%d!

n,s);

【参考答案】

(1)&

n

(2)t*i(3)s+t

求S的值。

S=(22/(1*3))*(42/(3*5))*(62/(5*7))*…*(2k)2/((2k-1)*(2k+1))

例如,当k为10时,函数的值应为1.533852。

math.h>

fun(intk)

{intn;

floats,w,p,q;

n=1;

s=1.0;

while(n<

=k)

{w=2.0*n;

p=w-1.0;

q=w+1.0;

s=s*w*w/p/q;

n++;

returns

{system("

%f\n"

fun(10));

fun(intk)正确:

doublefun(intk)

returns正确:

returns;

第三十五套

给定程序的功能是:

计算并输出下列级数的前N项之和SN,直到SN大于q为止,q的值通过形参传入。

例如,若q的值为50.0,则函数值为50.416687。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

doublefun(doubleq)

{

doubles,t;

n=2;

s=2.0;

while(s【1】q)

s=s+(double)(n+1)/n;

【2】;

n=%d\n"

n);

【3】;

fun(50));

(1)<

=

(2)n++或n+=1或n=n+1

(3)returns或return(s)

给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。

例如,n=8时,输入193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763,所得平均值为195.838745,在平均值以上的实数个数应为5。

intfun(floatx[],intn)

intj,c=0;

floatxa=0.0;

for(j=0;

j<

j++)

xa+=x[j]/n;

ave=%f\n"

xa);

if(x[j]>

=xa)

c++;

returnc;

{floatx[100]={193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763};

%d\n"

fun(x,8));

缺{正确:

加{

第三十六套

请在函数fun的横线上填写若干表达式,使从键盘上输入一个整数n,输出n对应的斐波拉契数列。

斐波拉契数列是一整数数列,该数列自第三项开始,每数等于前面两数之和,即0,1,1,2,3,5,8,13,21,34,55,…

intfun(intn);

inti,n=0;

for(i=0;

printf("

%d"

fun(i));

intfun(intn)

if(【1】)

return0;

else

if(【2】)

return1;

else

return【3】;

(1)n==0

(2)n==1(3)fun(n-1)+fun(n-2)

根据整型形参n,计算如下公式的值。

A1=1,A2=1/(1+A1),A3=1/(1+A2),…,An=1/(1+A(n-1))

例如,若n=10,则应输出0.617977。

{floatA=1;

intI;

for(I=2;

A=1.0/(1+A);

returnA;

\nPleaseentern:

A%d=%lf\n"

n,fun(n));

intfun(intn)

floatfun(intn)

第三十七套

请补充函数fun,该函数的功能是:

把从键盘输入的3个整数按从小到大输出。

例如,输入"

337825"

结果输出"

253378"

intx,y,z,t;

Inputx,y,z\n"

%d%d%d"

x,&

y,&

z);

t=x;

x=y;

y=t;

}/*交换x,y的值*/

if(【2】)

t=z;

z=x;

x=t;

}/*交换x,z的值*/

if(【3】)

t=y;

y=z;

z=t;

}/*交换z,y的值*/

******theresult*******\n"

fromsmalltobig:

%d%d%d\n"

x,y,z);

(1)x>

y

(2)x>

z(3)y>

z

找出100到n(不大于1000)之间三个位上的数字都相等的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。

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

#defineN100

intfun(int*s,intn)

intI,j,k,a,b,c;

j=0;

for(I=100;

I<

I++)

k=n;

a=k%10;

k/=10;

b=k/10;

c=k/10;

if(a==b&

&

a==c)

s[j++]=I;

inta[N],n,num=0,i;

do

\nEntern(<

=1000):

"

}

while(n>

1000);

num=fun(a,n);

i<

num;

i++)

%5d"

\n\n"

k=n正确:

k=i;

b=k/10;

b=k%10;

第三十八套

计算三名学生学科的平均成绩。

例如,当score[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90,95,86,95,97}}时,五门学科的平均分为:

84.5,89.5,85.3,86.3,86.3。

#defineN3

#defineM5

intmain()

intI,j;

staticfloatscore[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90,95,86,95,97}};

staticfloatbb[N];

for(I=0;

M;

bb[I]=0.0;

【1】;

for(j=0;

【2】;

bb[j]+=score[I][j];

\nsubject%d\taverage=%5.1f"

I+1,【3】);

return0;

(1)N

(2)M(3)bb[i]/N

求k!

(k<

13),所求阶乘的值作为函数值返回。

例如,若k=10,则应输出3628800。

longfun(intk)

ifk>

1

return(k*fun(k-1));

return1;

{intk=10;

=%ld\n"

k,fun(k));

错误:

ifk>

1正确:

if(k>

1)

第三十九套

判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回"

yes!

否则返回"

no!

char*fun(intn)

intg,s,b;

g=n%10;

s=n/10%10;

b=【1】;

if((g+b)==s)

return【2】;

return【3】;

intnum=0;

******Inputdata*******\n"

num);

\n\n\n"

******Theresult*******\n"

\n\n\n%s"

fun(num));

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

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2