二级C语言上机题库.docx

上传人:b****5 文档编号:5734969 上传时间:2022-12-31 格式:DOCX 页数:33 大小:19.13KB
下载 相关 举报
二级C语言上机题库.docx_第1页
第1页 / 共33页
二级C语言上机题库.docx_第2页
第2页 / 共33页
二级C语言上机题库.docx_第3页
第3页 / 共33页
二级C语言上机题库.docx_第4页
第4页 / 共33页
二级C语言上机题库.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

二级C语言上机题库.docx

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

二级C语言上机题库.docx

二级C语言上机题库

题库一

一、填空题

请补充fun函数,fun函数的功能是求m的阶乘。

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

注意:

部分源程序给出如下。

1

#include

2

longfun(intm)

3

{

4

if(___1___)

5

return(m*fun(___2___));

6

return___3___;

7

}

8

main()

9

{

10

printf("8!

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

11

}

二、改错题

下列给定程序的功能是:

读入一个整数n(2≤n≤5000),打印它的所有为素数的因子。

例如,若输入整数1234,则应输出:

2、617。

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

注意:

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

1

#include

2

#include

3

/*******error*********/

4

Prime(intm);

5

{

6

intj,p;

7

p=1;

8

/*******error*********/

9

for(j=2;j

10

if!

(m%j)

11

{

12

p=0;

13

break;

14

}

15

return(p);

16

}

17

main()

18

{

19

inti,n;

20

printf("\npleaseenteranintegernumberbetween2and5000:

");

21

scanf("%d",&n);

22

printf("\n\nTheprimefactor(s)of%dis(are):

",n);

23

for(i=2;i

24

if((!

(n%i))&&(Prime(i)))

25

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

26

printf("\n");

27

}

三、编程题

数组point中存放着m个人的成绩,请编写函数fun,它的功能是:

返回高于平均分的人数,并将高于平均分的分数放在high所指的数组中。

例如,当point数组中的数据为50、60、65、70、75、80、88、90、95时,函数返回的人数应该是5,high中的数据应为75、80、88、90、95。

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

注意:

部分源程序给出如下。

1

#include

2

#include

3

#include

4

intfun(intpoint[],intn,inthigh[])

5

{

6

7

}

8

main()

9

{

10

intj,m,high[9];

11

intpoint[9]={50,60,65,70,75,80,88,90,95};

12

FILE*out;

13

m=fun(point,9,high);

14

printf("\nHightheaveragepointare:

");

15

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

16

for(j=0;j

17

{

18

printf("%d",high[j]);

19

fprintf(out,"%d\n0",high[j]);

20

}

21

fclose(out);

22

}

题库二

一、填空题

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

判断一个年份是否为闰年。

例如,2007年不是闰年,2008是闰年。

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

注意:

部分源程序给出如下。

1

#include

2

#include

3

intfun(intn)

4

{

5

intflag=0;

6

if(n%4==0)

7

if(___1___)

8

flag=1;

9

if(___2___)

10

flag=1;

11

return___3___;

12

}

13

main()

14

{

15

intyear;

16

printf("Inputtheyear:

");

17

scanf("%d",&year);

18

if(fun(year))

19

printf("%disaleapyear.\n",year);

20

else

21

printf("%disnotaleapyear.\n",year);

22

}

二、改错题

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

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

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

请修改程序中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。

注意:

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

1

#include

2

#include

3

doublefun(intn)

4

{

5

doubles=1.0;

6

inti;

7

/******error**********/

8

for(i=2;i<=n;i++)

9

s+=1.0/k;

10

/******error**********/

11

___填空___

12

}

13

main()

14

{

15

intn;

16

printf("\npleaseenter1integernumbers:

\n");

17

scanf("%d",&n);

18

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

19

}

三、编程题

请编写函数fun,它的功能是:

求出1到500之内能被7或11整除,但不能同时被7和11整除的所有整数,并将它们放在b所指的数组中,通过m返回这些数的个数。

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

注意:

部分源程序给出如下。

1

#include

2

#include

3

voidfun(int*b,int*m)

4

{

5

6

}

7

main()

8

{

9

inta[500],m,i;

10

FILE*out;

11

fun(a,&m);

12

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

13

for(i=0;i

14

if((i+1)%10==0)

15

{

16

printf("%5d\n",a[i]);

17

fprintf(out,"d\n",a[i]);

18

}

19

else

20

{

21

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

22

fprintf(out,"%d,",a[i]);

23

}

24

fclose(out);

25

}

题库三

函数fun的功能是:

从三个形参x、y、z中找出中间的那个数,作为函数值返回。

例如,当x=121,y=456,z=333时,中间的数为333。

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

注意:

部分源程序给出如下。

1

#include

2

intfun(inta,intb,intc)

3

{

4

inttemp;

5

temp=(a>b)?

(b>c?

b:

(a>c

?

c:

___1___)):

6

((a>c)?

___2___:

7

((b>c)?

c:

___3___));

8

returntemp;

9

}

10

main()

11

{

12

intx=121,y=456,z=333,mid;

13

mid=fun(x,y,z);

14

printf("\nThemiddlenumberis:

%d\n",mid);

15

}

二、改错题

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

用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。

例如,若给m输入-50,给n输入30,则函数求得的一个根值为2.000。

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

注意:

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

1

#include

2

#include

3

doublequest(doublex)

4

{

5

return(2*x*x*x-4*x*x+3*x-6);

6

}

7

doublefun(doublem,doublen)

8

{

9

/********error********/

10

intr;

11

r=(m+n)/2;

12

/********error********/

13

while(fabs(n-m)<0.001)

14

{

15

if(quest(r)*quest(n)<0)

16

m=r;

17

else

18

n=r;

19

r=(m+n)/2;

20

}

21

returnr;

22

}

23

main()

24

{

25

doublem,n,result;

26

printf("Pleaseinputmn:

\n");

27

scanf("%lf%lf",&m,&n);

28

result=fun(m,n);

29

printf("result=%6.3f\n",result);

30

}

三、编程题

请编写函数voidfun(inty,intb[],int*m),它的功能是:

求出能整除y且是奇数的各整数,并按从小到大的顺序放在b所指的数组中,这些除数的个数通过形参m返回。

例如,若y中的值为90,则有4个数符合要求,它们是1、3、5、9、15、45。

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

注意:

部分源程序给出如下。

1

#include

2

#include

3

voidfun(inty,intb[],int*m)

4

{

5

6

}

7

main()

8

{

9

inty,a[500],m,j;

10

FILE*out;

11

printf("\nPleaseinputanintegernumber:

\n");

12

scanf("%d",&y);

13

fun(y,a,&m);

14

for(j=0;j

15

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

16

printf("\n");

17

fun(730,a,&m);

18

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

19

for(j=0;j

20

fprintf(out,"%d\n",a[j]);

21

fclose(out);

22

}

题库四

一、填空题

请补充函数fun(char*t),该函数的功能是把字符串中的内容逆置。

例如,字符串中原有的字符串为ABCDE,则调用该函数后,串中的内容为EDCBA。

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

注意:

部分源程序给出如下。

1

#include

2

#include

3

#include

4

#defineM60

5

voidfun(char*t)

6

{

7

intj,m=strlen(t)-1;

8

chars;

9

for(j=0;j

10

{

11

s=t[j];

12

___2___;

13

___3___;

14

}

15

}

16

main()

17

{

18

charb[M];

19

printf("Inputastring:

");

20

gets(b);

21

printf("Theoriginalstring

is:

");

22

puts(b);

23

fun(b);

24

printf("\n");

25

printf("Thereversalstring:

");

26

puts(b);

27

}

二、改错题

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

判断字符ch是否与s所指串中的某个字符相同,若相同,则什么也不做;若不同,则将其插在串的最后。

请修改程序中的错误,使它能得出正确的操作。

注意:

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

1

#include

2

#include

3

#include

4

/*******error*********/

5

voidfun(chars,charc)

6

{

7

while(*s&&*s!

=c)

8

s++;

9

/*******error*********/

10

if(*s=='c')

11

{

12

s[0]=c;

13

/*******error*********/

14

s[1]='0';

15

}

16

}

17

main()

18

{

19

charstr[81],ch;

20

printf("\nPleaseenterastring:

\n");

21

gets(str);

22

printf("\nPleaseenterthe

charactertosearch:

");

23

ch=getchar();

24

fun(str,ch);

25

printf("\nTheresultis%s\n",str);

26

}

三、编程题

请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。

二维数组中的值在主函数中赋予。

例如,若二维数组中的值为:

3 5 7 9

9 9 9 4

9 9 9 8

则函数值为72。

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

注意:

部分源程序给出如下。

1

#include

2

#include

3

#defineM3

4

#defineN4

5

intfun(intb[M][N])

6

{

7

8

}

9

main()

10

{

11

inta[M][N]={{3,5,7,9},{9,9,9,4},

{9,9,9,8}};

12

inti,j,sum;

13

FILE*out;

14

printf("Theoriginaldatais:

\n");

15

for(i=0;i

16

{

17

for(j=0;j

18

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

19

printf("\n");

20

}

21

sum=fun(a);

22

printf("\nThesum:

%d\n",sum);

23

printf("\n");

24

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

25

fprintf(out,"%d",sum);

26

fclose(out);

28

}

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

当前位置:首页 > 农林牧渔 > 农学

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

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