sum+=i;
returnsum;
}
15.功能:
编写函数fun其功能是:
根据整型形参m,计算如下
公式的值:
y=1+1/3+1/5+1/7+…+1/(2m+1)
例如:
若m=9,则应输出:
2.133256
doublefun(intm)
{
inti;
doublesum=0,item;
for(i=1;i<=2*m+1;i+=2)
{
item=1.0/i;
sum+=item;
}
returnsum;
}
16.编写函数fun,它的功能是:
求Fibonacci数列中大于s的最小的一个数,结果由函数
返回。
其中Fibonacci数列F(n)的定义为:
F(0)=0,F
(1)=1
F(n)=F(n-1)+F(n-2)
例如:
当s=1000时,函数值为:
1597。
注意:
部分源程序存在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
intfun(ints)
{
intan=0,an1=1,an2;
an2=an+an1;
while(s>=an2)
{
an2=an+an1;
an=an1;
an1=an2;
}
returnan2;
}
17.功能:
求一个四位数的各位数字的立方和'
intfun(intn)
{
inti,j,k,L;
i=n/1000;
j=n/100%10;
k=n/10%10;
L=n%10;
returni*i*i+j*j*j+k*k*k+L*L*L;
}
18.功能:
能计算从1开始到n的自然数的和,n由键盘输入,
并在main()函数中输出。
intfun(intn)
{
intsum=0,i;
for(i=1;i<=n;i++)
sum+=i;
returnsum;
}
19.功能:
用do-while语句求1~100的累计和。
longintfun(intn)
{
intsum=0,i=1;
do
{
sum+=i;
i++;
}
while(i<=n);
returnsum;
}
20.请编写函数fun,其功能是:
计算并输出下列多项式的值:
S=1+1/1!
+1/2!
+1/3!
+1/4!
+...+1/n!
例如,在主函数中从键盘给n输入15,则输出为:
s=2.718282。
注意:
要求n的值大于1但不大于100。
部分源程序在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
doublefun(intn)
{
inti;
doubleitem=1,sum=1.0;
for(i=1;i<=n;i++)
{
item=item/i;
sum+=item;
}
returnsum;
}
21.功能:
用函数求fibonacci数列前n项的和。
说明:
fibonacci数列为数列的第一项值为1,第二项值也
为1,从第三项开始,每一项均为其前面相邻两项
的和。
例如:
当n=28时,运行结果:
832039
longsum(longf1,longf2)
{
longf,sum;
inti;
sum=f=f1+f2;
for(i=3;i<=28;i++)
{
sum+=f;
f1=f2;
f2=f;
f=f1+f2;
}
returnsum;
}
22.功能:
编写函数fun,求任一整数m的n次方。
longfun(intm,intn)
{
longresult=1;
longi;
for(i=1;i<=n;i++)
{
result*=m;
}
returnresult;
}
23.编写函数fun,它的功能是计算下列级数和,和值由函数值返回。
s=1+x+x^2/2!
+x^3/3!
+…+x^n/n!
例如,当n=10,x=0.3时,函数值为1.349859。
注意:
部分源程序存在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
doublefun(doublex,intn)
{
/*S=1+x+x^2/2!
+x^3/3!
+...+x^n/n!
*/
doubles=1.0,a=1.0,b=1.0;
longi;
for(i=1;i<=n;i++)
{
a*=x;
b*=i;
s+=a/b;
}
returns;
}
24.请编写函数fun,其功能是:
计算并输出3到n之间所有素数的平方根之和。
例如,在主函数中从键盘给n输入100后,
输出为:
sum=148.874270。
注意:
要求n的值大于2但不大于100。
部分源程序在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
doublefun(intn)
{
doublesum=0.0;
inti,j,f;
for(i=3;i<=n;i++)
{
f=1;
for(j=2;j<=i-1;j++)
if(i%j==0)
f=0;
if(f)
sum+=sqrt(i);
}
returnsum;
}
25.功能:
找出一个大于给定整数且紧随这个整数的素数,并
作为函数值返回。
intfun(intn)
{
longi,j;
intf;
for(i=n+1;;i++)
{
f=1;
for(j=2;j<=i-1;j++)
if(i%j==0)
f=0;
if(f)
break;
}
returni;
}
26.功能:
求出菲波那契数列的前一项与后一项之比的极限的
近似值。
例如:
当误差为0.0001时,函数值为0.618056。
floatfun()
{
floatvalue1,value2;
intf1,f2,f;
f1=f2=1;f=f1+f2;
value2=1.0f*f1/f2;
value1=1.0f*f2/f;
while(fabs(value1-value2)>=0.0001)
{
f1=f2;
f2=f;
f=f1+f2;
value2=value1;
value1=1.0f*f2/f;
}
returnvalue1;
}
27.功能:
编写函数求表达式的和(n的值由主函数输入)。
1-1/2+1/3-1/4+......+1/m
例如:
当n=20时,表达式的值为0.668771。
doublesum(intn)
{
doublesum=0.0;
inti,f=1;
for(i=1;i<=n;i++)
{
sum+=f*1.0/i;
f=-f;
}
returnsum;
}
28.请编写函数fun,其功能是:
计算并输出S=1+(1+2^0.5)+(1+2^0.5+3^0.5)+……
+(1+2^0.5+3^0.5+……+n^0.5)
例如,在主函数中从键盘给n输入20后,输出为:
s=534.188884。
注意:
要求n的值大于1但不大于100。
部分源程序在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
doublefun(intn)
{
doubles=1.0,item=1.0;
inti;
for(i=2;i<=n;i++)
{
item+=sqrt(i);
s+=item;
}
returns;
}
另一种思路,s的通项为1^0.5*n+2^0.5*(n-1)+……+n*0.5*1
doublefun(intn)
{
doubles=0.0;
inti;
for(i=1;i<=n;i++)
{
s+=sqrt(i)*(n+1-i);
}
returns;
}
29.请编写函数fun,其功能是:
计算并输出当x<0.97时下列多项式的值,直到
|S(n)-S(n-1)|<0.000001为止。
Sn=1+0.5x+0.5(0.5-1)/2!
x
(2)+…+0.5(0.5-1)(0.5-2)……(0.5-n+1)/n!
x(n)
例如,在主函数中从键盘给x输入0.21后,输出为:
s=1.100000。
注意:
部分源程序在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
doublefun(doublex)
{
doubles1=1.0,p=1.0,sum=0.0,s0,t=1.0;
intn=1;
do
{
s0=s1;
sum+=s0;
t*=n;
p*=(0.5-n+1)*x;
s1=p/t;
n++;
}while(fabs(s1-s0)>1e-6);
returnsum;
}
30.请编写函数fun,其功能是:
计算并输出下列多项式的值:
11111
S=(1-─)+(─-─)+…+(──-──)
2342n-12n
例如,在主函数中从键盘给n输入8后,输出为:
s=0.662872。
注意:
要求n的值大于1但不大于100。
部分源程序在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
doublefun(intn)
{
inti;
doublesum=0.0;
if(n>1&&n<=100)
{
for(i=1;i<=n;i++)
sum+=1.0/(2*i-1)-1.0/(2*i);
}
returnsum;
}
31.功能:
计算并输出给定整数的所有因子之积(包括自身)。
规定这个整数的值不大于50。
longintfun(intn)
{
longresult=1;
inti;
for(i=1;i<=n;i++)
{
if(n%i==0)
result*=i;
}
returnresult;
}
32.请编写一个函数fun,它的功能是:
根据以下公式求π的值(要求满足精度0.0005,即
某项小于0.0005时停止迭代):
π1121231234
—=1+—+—x—+—x—x—+—x—x—x—+...
23353573579
程序运行后,如果输入精度0.0005,则程序输出为3.140578。
注意:
部分源程序存在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
doublefun(doubleeps)
{
doublepi=0.0;
intu=1,d=1;
doublet=1.0;
while(t>eps)
{
pi+=t;
d+=2;
t*=1.0*u/d;
u+=1;
}
pi*=2.0;
returnpi;
}
33.功能:
编写函数fun求1!
+2!
+3!
+……+n!
的和,在main函
数中由键盘输入n值,并输出运算结果。
请编写fun
函数。
例如:
若n值为5,则结果为153。
longintfun(intn)
{
longsum=0,item=1;
inti;
for(i=1;i<=n;i++)
{
item*=i;
sum+=item;
}
returnsum;
}
34.编写函数fun,它的功能是:
求n以内(不包括n)同时能被3与7整除的所有自然数之
和的平方根s,并作为函数值返回。
例如若n为1000时,函数值应为:
s=153.909064。
注意:
部分源程序存在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
doublefun(intn)
{
doublesum=0.0;
inti;
for(i=1;i<=n;i++)
{
if(i%3==0&&i%7==0)
sum+=i;
}
sum=sqrt(sum);
returnsum;
}
35.编写函数fun,函数的功能是:
根据以下公式计算s,计算结果作为函数值返回;n通过
形参传入。
S=1+(1/(1+2))+(1/(1+2+3))+....+(1/(1+2+..+n))
例如:
若n的值为11时,则函数值为:
1.833333
注意:
部分源程序存在文件prog.c中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
floatfun(intn)
{
floats=0.0,item=0.0;
inti;
for(i=1;i<=n;i++)
{
item+=i;
s+=1.0/item;
}
returns;
}
36.功能:
根据整型参数n,计算如图公式的值。
A1=1,A2=1/(1+A1),A3=1/(1+A2)……,An=1/(1+A(n-1))
例如,若n=10,则应输出:
0.618056
doublefun(intn)
{
doublea=1.0;
inti;
for(i=1;i<=n;i++)
a=1.0/(1+a);
returna;
}
37.功能:
根据整型形参m,计算如下公式的值:
y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)
例如:
若m=9,则应输出:
1.168229
doublefun(intm)
{
doubley=0.2;
inti;
for(i=1;i<=m;i++)
y+=1.0/(i+5);
returny;
}
38.请编写一个函数fun,它的功能是:
计算并输出给定整数n的所有因子(不包括1与n
自身)之和。
规定n的值不大于1000。
例如,在主函数中从键盘给n输入的值为856,则输出为:
sum=763。
注意:
部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
intfun(intn)
{
intresult=0;
inti;
for(i=2;i{
if(n%i==0)
result+=i;
}
returnresult;
}
39.功能:
求1到100之间的偶数之积。
doublefun(intm)