二级上级模拟题.docx

上传人:b****4 文档编号:27488296 上传时间:2023-07-02 格式:DOCX 页数:20 大小:19.25KB
下载 相关 举报
二级上级模拟题.docx_第1页
第1页 / 共20页
二级上级模拟题.docx_第2页
第2页 / 共20页
二级上级模拟题.docx_第3页
第3页 / 共20页
二级上级模拟题.docx_第4页
第4页 / 共20页
二级上级模拟题.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

二级上级模拟题.docx

《二级上级模拟题.docx》由会员分享,可在线阅读,更多相关《二级上级模拟题.docx(20页珍藏版)》请在冰豆网上搜索。

二级上级模拟题.docx

二级上级模拟题

实例:

填空题

给定程序的功能是计算并输出下列级数的前N项之和,直到大于Q为止,Q的值通过形参传入。

S=2+3/2+4/3+……(n+1)/n

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

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

试题程序:

#include

doublefun(doubleq)

{

intn;

doubles;

n=2;

s=2.0;

while(s___1___q)

{

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

___2___;

}

printf("n=%d\n",n);

___3___;

}

intmain()

{

printf("%f\n",fun(50));

return0;

}

 

第一套

填空题。

  请补充FUN函数,FUN函数的功能是求10的阶乘。

 

  注意:

部分源程序给出如下。

 

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

 

  试题程序:

 

#include

longfun(intn)

{

if(___1___)

return(n*fun(___2___));

return___3___;

}

intmain()

{

printf("10!

=%ld\n",fun(10));

return0;

}

改错题:

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

给一维数组a输入任意4个整数,并按如下的规律输出。

例如输入1、2、3、4,程序运行后将输出以下方阵:

4123

3412

2341

1234

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

注意:

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

试题程序:

#include

#defineM4

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

intfun(inta)

{

inti,j,k,m;

printf("Enter4number:

");

for(i=0;i

scanf("%d",&a[i]);

printf("\n\nTheresult:

\n\n");

for(i=M;i>0;i--)

{

k=a[M-1];

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

for(j=M-1;j>0;j--)

a[j]=a[j+1];

a[0]=k;

for(m=0;m

printf("%d",a[m]);

printf("\n");

}

}

main()

{

inta[M];

fun(a);

printf("\n\n");

}

编程题:

52.编写一个函数fun,它的功能是:

实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。

例如,分别输入下面两个字符串:

FirStString--

SecondString

则程序输出:

FirstString--SecondString

注意:

部分源程序给出如下。

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

#include

#include

voidfun(charp1[],charp2[])

{

}

main()

{

chars1[80],s2[40];

printf("Enters1ands2:

\n");

scanf("%s%s",s1,s2);

printf("s1=%s\n",s1);

printf("s2=%s\n",s2);

printf("Invokefun(s1,s2):

\n");

fun(s1,s2);

printf("Afterinvoking:

\n");

printf("%s\n",s1);

}

第二套

填空题 

  请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。

斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:

011235813….. 

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

 

  试题程序:

 

#include

intfun(intn);

intmain()

{

inti,n=0;

scanf("%d",&n);

for(i=0;i

printf("%d",fun(i));

return0;

}

intfun(intn)

{

if(___1___)

return0;

elseif(___2___)

return1;

else

return___3___;

}

改错题:

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

求整数x的y次方的低3位值。

例如,整数5的6次方为15625,此数的低3位值为625。

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

注意:

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

试题程序:

#include

longfun(intx,inty,long*p)

{

inti;

longt=1;

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

for(i=1;i

t=t*x;

*p=t;

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

t=t/1000;

returnt;

}

main()

{

longt,r;

intx,y;

printf("\nInputxandy:

");

scanf("%ld%ld",&x,&y);

t=fun(x,y,&r);

printf("\n\nx=%d,y=%d,r=%ld,last=%ld\n\n",x,y,r,t);

}

编程题:

57.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:

把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

例如,输入的分数是60和69,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。

主函数中将把60放在low中,把69放在heigh中。

注意:

部分源程序给出如下。

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

若干语句。

#include

#defineN16

typedefstruct

{

charnum[10];

ints;

}STREC;

intfun(STREC*a,STREC*b,intl,inth)

{

}

main()

{

STRECs[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},

{"GA001",96},{"GA007",72},{"GA008",64},{"GA006",87},

{"GA015",85},{"GA013",94},{"GA012",64},{"GA014",91},

{"GA011",90},{"GA017",64},{"GA018",64},{"GA016",72}};

STRECh[N],tt;

FILE*out;

inti,j,n,low,heigh,t;

printf("Enter2integernumberlow&heigh:

");

scanf("%d%d",&low,&heigh);

if(heigh

{

t=heigh;

heigh=low;

low=t;

}

n=fun(s,h,low,heigh);

printf("Thestudent'sdatabetween%d----%d:

\n",low,heigh);

for(i=0;i

printf("%s%4d\n",h[i].num,h[i].s);

printf("\n");

out=fopen("out18.dat","w");

fprintf(out,"%d\n",n);

n=fun(s,h,80,98);

for(i=0;i

for(j=i+1;j

if(h[i].s>h[j].s)

{

tt=h[i];

h[i]=h[j];

h[j]=tt;

}

for(i=0;i

fprintf(out,"%4d\n",h[i].s);

fprintf(out,"\n");

fclose(out);

}

第三套

填空题

  请补充函数FUN(CHAR*S),该函数的功能是把字符串中的内容逆置.

  例如:

字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba.

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

  试题程序:

#include

#include

#include

#defineN81

voidfun(char*s)

{

inti,n=strlen(s)-1;

chart;

for(i=0;i

{

t=s[i];

___2___;

___3___;

}

}

intmain()

{

chara[N];

printf("Enterastring:

");

gets(a);

printf("Theoriginalstringis:

");

puts(a);

fun(a);

printf("\n");

printf("Thestringaftermodified:

");

puts(a);

return0;

}

改错题:

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

求s的值。

224262(2k)2

s=——×——×——×…×—————

1x33x55x7(2k-1)x(2k+1)

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

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

注意:

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

试题程序:

#include

#include

#include

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

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++;

}

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

returns

}

main()

{

clrscr();

printf("%lf\n",fun(10));

}

编程题:

65.请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。

例如,当a=45,b=12,调用该函数后,c=2415。

注意:

部分源程序给出如下。

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

#include

#include

voidfun(inta,intb,long*c)

{

}

main()

{

inta,b;

longc;

clrscr();

printf("Inputa,b;");

scanf("%d%d",&a,&b);

fun(a,b,&c);

printf("Theresultis:

%ld\n",c);

}

第四套

填空题

  请补充函数FUN,它的功能是:

计算并输出N(包括N)以内能被3或7整除的所有自然数的倒数之和。

  例如,在主函数中从键盘给N输入30后,输出为:

S=1.226323。

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

试题程序:

#include

doublefun(intn)

{

inti;

doublesum=0.0;

for(i=1;___1___;i++)

if(i%3==0___2___i%7==0)

sum+=___3___/i;

returnsum;

}

intmain()

{

intn;

doubles;

printf("\nInputn:

");

scanf("%d",&n);

s=fun(n);

printf("\n\ns=%f\n",s);

return0;

}

改错题:

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

计算并输出下列级数的前N项之和SN。

,直到

SN+1大于q为止,q的值通过形参传入。

234N+1

SN=-+-+-+…+-

123N

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

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

注意:

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

试题程序:

#include

#include

doublefun(doubleq)

{

intn;doubles,t;

n=2;

s=2.0;

while(s<=q)

{

t=s;

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

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

n++;

}

printf("n=%d\n",n);

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

returns;

}

main()

{clrscr();

printf("%f\n",fun(50));

}

 

编程题:

60.请编写函数fun,该函数的功能是:

删去一维数组中所有相同的数,使之只剩一个。

数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

例如,若一维数组中的数据是:

2223445666677899101010。

删除后,数组中的内容应该是:

2345678910。

注意:

部分源程序给出如下。

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

#include

#defineN80

intfun(inta[],intn)

{

}

main()

{

inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20;

printf("Theoriginaldata:

\n");

for(i=0;i

printf("%3d",a[i]);

n=fun(a,n);

printf("\n\nThedataafterdeleted:

\n");

for(i=0;i

printf("%3d",a[i]);

printf("\n\n");

}

第五套

填空题

  给定程序的功能是求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:

圆面积公式为:

S=,在程序中定义的变量名要与公式的变量相同)。

  例如,输入圆的半径值:

19.527,输出为:

S=598.950017。

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

试题程序:

#include

doublefun(doubler)

{

return3.14159*___1___/2.0;

}

intmain()

{

doublex;

printf("Enterx:

");

scanf("%lf",___2___);

printf("s=%lf\n",fun(___3___));

return0;

}

编程题:

63.请编写一个函数fun,它的功能是:

计算并输出给定整数n的所有因子(不包括1与自身)之和。

规定n的值不大于1000。

备注:

整数n的因子-n可以整除的数。

例如,若主函数从键盘给n输入的值为856,则输出为sum=763。

注意:

部分源程序给出如下。

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

#include

intfun(intn)

{

}

main()

{

intn,sum;

printf("Inputn:

");

scanf("%d",&n);

sum=fun(n);

printf("sum=%d\n",sum);

}

改错题:

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

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

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

例如:

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

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

注意:

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

试题程序:

#include

#include

doublefun(intx[])

{

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

intsum=0.0;

intc=0,i=0;

while(x[i]!

=0)

{

if(x[i]>0)

{

sum+=x[i];

c++;

}

i++;

}

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

sum\=c;

returnsum;

}

main()

{

intx[1000];

inti=0;

printf("\nPleaseentersomedata(endwith0):

");

do

{

scanf("%d",&x[i]);

}

while(x[i++]!

=0);

printf("%lf\n",fun(x));

}

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

当前位置:首页 > 初中教育 > 政史地

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

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