函数练习题及答案.docx

上传人:b****2 文档编号:1628282 上传时间:2022-10-23 格式:DOCX 页数:14 大小:17.84KB
下载 相关 举报
函数练习题及答案.docx_第1页
第1页 / 共14页
函数练习题及答案.docx_第2页
第2页 / 共14页
函数练习题及答案.docx_第3页
第3页 / 共14页
函数练习题及答案.docx_第4页
第4页 / 共14页
函数练习题及答案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

函数练习题及答案.docx

《函数练习题及答案.docx》由会员分享,可在线阅读,更多相关《函数练习题及答案.docx(14页珍藏版)》请在冰豆网上搜索。

函数练习题及答案.docx

函数练习题及答案

单项选择

==================================================

题号:

2914

函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的就是()、

A、实参与形参就是双向传递

B、形参与实参可以同名

C、实参类型一定要在调用时指定

D、形参可以就是表达式

答案:

B

题号:

4060

以下程序的输出结果就是

main()

{intk=4,m=1,p;

p=func(k,m);

printf("%d,",p);

p=func(k,m);

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

}

func(inta,intb)

{staticintm,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

A、8,20

B、8,16

C、8,17

D、8,8

答案:

C

题号:

2491

请阅读以下程序:

#include

#include

voidfun(intb[])

{staticinti=0;

do

{b[i]+=b[i+1];

}while(++i<2);}

main()

{intk,a[5]={1,3,5,4,9};

fun(a);

for(k=0;k<5;k++)printf("%d",a[k]);}

上面程序的输出就是()、

A、48579

B、48549

C、48999

D、13579

答案:

B

题号:

2643

有以下程序:

#include

voidfun(inta[],intn)

{inti,t;

for(i=0;i

}

main()

{intk[10]={1,2,3,4,5,6,7,8,9,10},i;

fun(k,5);

for(i=2;i<8;i++)printf("%d",k[i]);

printf("\n");

}

程序的运行结果就是()、

A、876543

B、321678

C、

D、345678

答案:

B

程序设计

==================================================

题号:

5340

/*------------------------------------------------

【程序设计】

--------------------------------------------------

题目:

给定n个数据,求最小值出现的位置

(如果最小值出现多次,求出第一次出

现的位置即可)。

--------------------------------------------------

注意:

部分源程序给出如下。

请勿改动主函数

main与其它函数中的任何内容,仅在函数

station的花括号中填入所编写的若干语句。

*********Begin**********与**********End**********不可删除

------------------------------------------------*/

#include"stdio、h"

intstation(ints[],intn)

{

/*********Begin**********/

/**********End**********/

}

main()

{

inta[100],n,i,t;

scanf("%d",&n);

for(i=0;i

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

t=station(a,n);

printf("themin_valuepositionis:

%d\n",t);

TestFunc();

}

TestFunc()

{

FILE*IN,*OUT;

intn;

inti[10];

into;

IN=fopen("in、dat","r");

if(IN==NULL)

{printf("Read");

}

OUT=fopen("out、dat","w");

if(OUT==NULL)

{printf("Write");

}

for(n=0;n<10;n++)

{

fscanf(IN,"%d",&i[n]);

}

o=station(i,10);

fprintf(OUT,"%d\n",o);

fclose(IN);

fclose(OUT);

}

示例代码:

inti,k;

k=0;

for(i=1;i

if(s[i]

return(k);

题号:

5371

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

求小于形参n同时能被3与7整除的所有自然数之与的平方根,

并作为函数值返回。

例如若n为1000时,程序输出应为:

s=153、909064。

*********Begin**********与**********End**********不可删除

------------------------------------------------*/

voidTestFunc();

#include

#include

doublefun(intn)

{

/*********Begin**********/

/**********End**********/

}

main()

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

TestFunc();

}

voidTestFunc()

{

FILE*IN,*OUT;

inti;

doubles;

IN=fopen("in、dat","r");

if(IN==NULL)

{

printf("Read");

}

OUT=fopen("out、dat","w");

if(OUT==NULL)

{

printf("Write");

}

fscanf(IN,"%d",&i);

s=fun(i);

fprintf(OUT,"%lf",s);

fclose(IN);

fclose(OUT);

}

示例代码:

inti;

doubles=0;

for(i=1;i

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

s+=i;

returnsqrt(s);

程序填空

==================================================

题号:

599

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

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

-------------------------------------------------------*/

#include"stdio、h"

/***********FILL***********/

intfun(_____)

{

intm=0,mc=0,j,n;

/***********FILL***********/

while(k>=2&&_____)

{

/***********FILL***********/

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

{

m=m+k;

mc++;

}

k--;

}

/***********FILL***********/

_____;

}

main()

{

printf("%d\n",fun(500));

}

答案:

位置1:

intk

位置2:

mc<10【或】10>mc【或】mc<=9【或】9>=mc

位置3:

k%17==0【或】!

(k%17)【或】k/17*17==k

位置4:

returnm【或】return(m)

题号:

546

/*给定程序中,函数fun的功能就是:

将N×N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。

例如,N=3,有下列矩阵

123

456

789

计算结果为

312

645

978

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:

不得增行或删行,也不得更改程序的结构!

*/

#include

#defineN4

voidfun(int(*t)[N])

{inti,j,x;

/**********FILL**********/

for(i=0;i<___1___;i++)

{

/**********FILL**********/

x=t[i][___2___];

for(j=N-1;j>=1;j--)

t[i][j]=t[i][j-1];

/**********FILL**********/

t[i][___3___]=x;

}

}

main()

{intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;

printf("Theoriginalarray:

\n");

for(i=0;i

{for(j=0;j

printf("\n");

}

fun(t);

printf("\nTheresultis:

\n");

for(i=0;i

{for(j=0;j

printf("\n");

}

}

答案:

位置1:

N

位置2:

N-1

位置3:

0

题号:

543

/*给定程序中,函数fun的功能就是:

将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。

例如,输入一个整数:

函数返回值为:

64862。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:

不得增行或删行,也不得更改程序的结构!

*/

#include

unsignedlongfun(unsignedlongn)

{unsignedlongx=0;intt;

while(n)

{t=n%10;

/**********FILL**********/

if(t%2==__1__)

/**********FILL**********/

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

当前位置:首页 > IT计算机 > 互联网

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

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