函数练习题及答案Word文档格式.docx
《函数练习题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《函数练习题及答案Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
A、8,20
B、8,16
C、8,17
D、8,8
C
2491
请阅读以下程序:
#include<
stdio、h>
string、h>
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、
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("
Read"
OUT=fopen("
out、dat"
w"
if(OUT==NULL)
Write"
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)
{
OUT=fopen("
if(OUT==NULL)
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__)