函数练习题及答案Word文件下载.docx

上传人:b****4 文档编号:8164037 上传时间:2023-05-10 格式:DOCX 页数:15 大小:17.93KB
下载 相关 举报
函数练习题及答案Word文件下载.docx_第1页
第1页 / 共15页
函数练习题及答案Word文件下载.docx_第2页
第2页 / 共15页
函数练习题及答案Word文件下载.docx_第3页
第3页 / 共15页
函数练习题及答案Word文件下载.docx_第4页
第4页 / 共15页
函数练习题及答案Word文件下载.docx_第5页
第5页 / 共15页
函数练习题及答案Word文件下载.docx_第6页
第6页 / 共15页
函数练习题及答案Word文件下载.docx_第7页
第7页 / 共15页
函数练习题及答案Word文件下载.docx_第8页
第8页 / 共15页
函数练习题及答案Word文件下载.docx_第9页
第9页 / 共15页
函数练习题及答案Word文件下载.docx_第10页
第10页 / 共15页
函数练习题及答案Word文件下载.docx_第11页
第11页 / 共15页
函数练习题及答案Word文件下载.docx_第12页
第12页 / 共15页
函数练习题及答案Word文件下载.docx_第13页
第13页 / 共15页
函数练习题及答案Word文件下载.docx_第14页
第14页 / 共15页
函数练习题及答案Word文件下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

函数练习题及答案Word文件下载.docx

《函数练习题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《函数练习题及答案Word文件下载.docx(15页珍藏版)》请在冰点文库上搜索。

函数练习题及答案Word文件下载.docx

voidfun(intb[])

{staticinti=0;

do

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

}while(++i<

2);

{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

2643

有以下程序:

voidfun(inta[],intn)

{inti,t;

for(i=0;

i<

n/2;

i++){t=a[i];

a[i]=a[n-1-i];

a[n-1-i]=t;

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

fun(k,5);

for(i=2;

8;

i++)printf("

k[i]);

\n"

);

程序的运行结果是().

A、876543

B、321678

C、1098765

D、345678

程序设计

5340

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

【程序设计】

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

题目:

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

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

现的位置即可)。

注意:

部分源程序给出如下。

请勿改动主函数

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

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

*********Begin**********和**********End**********不可删除

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

#include"

stdio.h"

intstation(ints[],intn)

{

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

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

}

inta[100],n,i,t;

scanf("

&

n);

for(i=0;

n;

i++)

a[i]);

t=station(a,n);

printf("

themin_valuepositionis:

t);

TestFunc();

TestFunc()

FILE*IN,*OUT;

intn;

inti[10];

into;

IN=fopen("

in.dat"

"

r"

if(IN==NULL)

{printf("

ReadFileError"

OUT=fopen("

out.dat"

w"

if(OUT==NULL)

WriteFileError"

for(n=0;

n<

10;

n++)

{

fscanf(IN,"

i[n]);

o=station(i,10);

fprintf(OUT,"

o);

fclose(IN);

fclose(OUT);

示例代码:

inti,k;

k=0;

for(i=1;

if(s[i]<

s[k])k=i;

return(k);

5371

功能:

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

并作为函数值返回。

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

s=153.909064。

voidTestFunc();

#include<

math.h>

doublefun(intn)

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

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

{printf("

s=%lf\n"

fun(1000));

voidTestFunc()

FILE*IN,*OUT;

inti;

doubles;

IN=fopen("

if(IN==NULL)

{

ReadFILEError"

OUT=fopen("

if(OUT==NULL)

WriteFILEError"

i);

s=fun(i);

fprintf(OUT,"

%lf"

s);

fclose(IN);

fclose(OUT);

inti;

doubles=0;

i++)

if(i%3==0&

&

i%7==0)

s+=i;

returnsqrt(s);

程序填空

599

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

【程序填空】

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

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

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

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

intfun(_____)

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

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

while(k>

=2&

_____)

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

m=m+k;

mc++;

k--;

_____;

main()

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

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

注意:

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

*/

#defineN4

voidfun(int(*t)[N])

{inti,j,x;

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

i<

___1___;

i++)

x=t[i][___2___];

for(j=N-1;

j>

=1;

j--)

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

t[i][___3___]=x;

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

Theoriginalarray:

N;

{for(j=0;

j<

j++)printf("

%2d"

t[i][j]);

fun(t);

\nTheresultis:

N

N-1

543

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

例如,输入一个整数:

27638496,函数返回值为:

64862。

unsignedlongfun(unsignedlongn)

{unsignedlongx=0;

intt;

while(n)

{t=n%10;

if(t%2==__1__)

x=__2__+t;

n=__3__;

returnx;

{unsignedlongn=-1;

while(n>

99999999||n<

0)

{printf("

Pleaseinput(0<

100000000):

"

%ld"

%ld\n"

fun(n));

10*x

n/10

程序改错

708

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

求三个数的最小公倍数。

例如,给主函数中的变量x1、x2、x3分别输入15112,则输出结果应当是:

330。

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

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

/**********ERROR**********/

fun(intx,y,z)

{intj,t,n,m;

j=1;

t=j%x;

m=j%y;

n=j%z;

while(t!

=0||m!

=0||n!

=0)

{j=j+1;

m=j%y;

returni;

{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);

intfun(intx,inty,intz)

returnj;

693

用选择法对数组中的n个元素按从小到大的顺序进行排序。

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

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

#defineN20

voidfun(inta[],intn)

{inti,j,t,p;

for(j=0;

j<

n-1;

j++){

p=j

for(i=j;

i<

n;

if(a[i]<

a[p])

p=j;

t=a[p];

a[p]=a[j];

a[j]=t;

inta[N]={9,6,8,3,-1},i,m=5;

排序前的数据:

"

for(i=0;

m;

i++)printf("

%d"

a[i]);

fun(a,m);

排序后的数据:

p=j;

p=i;

692

计算n!

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

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

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

doublefun(intn)

{doubleresult=1.0;

ifn==0

return1.0;

while(n>

1&

n<

170)

result*=n--

returnresult;

main()

{intn;

InputN:

\n\n%d!

=%lf\n\n"

n,fun(n));

if(n==0)

result*=n--;

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

当前位置:首页 > 工程科技

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

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