函数练习题及答案Word下载.docx
- 文档编号:17461747
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:15
- 大小:17.96KB
函数练习题及答案Word下载.docx
《函数练习题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《函数练习题及答案Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
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"
"
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("
"
r"
if(IN==NULL)
{printf("
ReadFileError"
OUT=fopen("
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=。
voidTestFunc();
#include<
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中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。
例如,输入一个整数:
,函数返回值为:
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>
||n<
0)
{printf("
Pleaseinput(0<
0):
"
%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,则输出。
请改正程序中的错误,使程序能输出正确的结果。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
doublefun(intn)
{doubleresult=;
ifn==0
return;
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--;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 练习题 答案