1、请编写函数fun,其功能是:计算并输出下列多项式的值:
例如,在主函数中从键盘给n输入8后,输出为:s=0.662872。
double fun(int n)
{ int i;
double sum=0.0;
if (n>1&&n<=100)
{for(i=1;i<=n;i++)
sum+=1.0/(2*i-1)-1.0/(2*i);
}
return sum;
}
2、请编写函数fun,其功能是:计算并输出当x<0.97时下列多项式的值,直到|S(n)-S(n-1)|<0.000001为止。
例如,在主函数中从键盘给x输入0.21后,输出为:s=1.100000。
double fun(double x)
{
int n=1;
double sn=1;
double xn=1,xn1=0;
while(fabs(xn-xn1)>=0.000001)
{xn=xn*x*(0.5-n+1)/n;
n+=1;
sn+=xn;
}
return(sn);}
3、编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
例如:若n的值为11时,则函数值为:1.833333
float fun(int n)
{ int i;
float s=1.0,h=1;
for (i=2;i<=n;i++)
{ h=h+i;
s=(float)(s+1.0/h); }
return(s);}
4、编写函数fun,它的功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数且要求m>n。
m!
P = ─────
n!(m-n)!
例如:m=12,n=8时,运行结果为495.000000。
float fun(int m,int n)
{int i;
float s=1,f=1,h=1;
float x;
for (i=m;i>=1;i--) s=s*i;
for (i=n;i>=1;i--) f=f*i;
for (i=m-n;i>=1;i--) h=h*i;
x=s/(f*h); return (x);}
5、编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。Xn+1=cos(Xn)迭代步骤如下:
(1)取x1初值为0.0;
(2)x0=x1,把x1的值赋给x0;
(3)x1=cos(x0),求出一个新的x1;
(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出结果Root=0.739085。
float fun()
{double x1,x0;
x1=0.0;
x0=x1;
x1=cos(x0);
while (fabs(x0-x1)>0.000001)
{x0=x1;x1=cos(x0);}
return((float)x0);
}
6、编写函数fun,它的功能是:计算并输出下列级数和:
例如,当n=10时,函数值为:0.909091。
double fun(int n)
{ int i;
double s=0;
for (i=1;i<=n;i++)
s=s+1.0/(i*(i+1));
return(s);}
7、编写函数fun,它的功能是计算下列级数和,和值由函数值返回。
例如,当n=10,x=0.3时,函数值为1.349859。
double fun(double x,int n)
{ int i;
double f=1.0,h=x;
double s=1;
s=s+h/f;
for (i=2;i<=n;i++)
{ f=f*i;
h=h*x;
s=s+h/f; }
return (s);}
8、请编写函数fun,其功能是:计算并输出下列多项式的值:
例如,在主函数中从键盘给n输入15,则输出为:s=2.718282。
double fun(int n)
{double m=1.0,p=1.0;
int i;
if(n<=1||n>100){ printf("Input n(n>1&&n<=100): "); scanf("%d",&n);}
for(i=1;i<=
n;i++)
{ p=p*i;
m=m+1.0/p;
}
return (m);
}
9、请编写函数fun,其功能是:计算并输出下列多项式的值:
1 1 1
S = 1 + ── + ─── + … + ─────
1*2 1*2*3 1*2*3*…50
例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。
double fun(int n)
{ int i;
double sum=0.0,tmp=1.0;
if(n<=1||n>100){ printf("Input n(n>1&&n<=100): "); scanf("%d",&n);}
for(i=1;i<=n;i++)
{ tmp*=i;
sum+=1.0/tmp;
}
return sum;
}
float up
10、编写函数fun,它的功能是:求Fibonacci数列中大于s的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
例如:当s=1000时,函数值为:1597。
int fun( int s)
{int x1=0,x2=1,m=0;
while (s>m)
{ m=x1+x2; x1=x2; x2=m; }
return m; }
11、请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005, 即某项小于0.0005时停止迭代):
程序运行后,如果输入精度0.0005,则程序输出为3.140578。
double fun ( double eps)
{ int n=0;
double down=1,up=1;
double one ,pi=0;
one = (double)up/(double)down;
while(one>=eps)
{
pi+=one;
n++;
up=up*n;
down=down*(2*n+1);
one=(double)up/(double)down; }
return pi*2;}
3、编写函数fun,它的功能是计算:s=(In(1)+In(2)+In(3)+……+In(m))^0.5,s作为函数值返回。在C语言中可调用log(n)函数求In(n)。log函数的引用说明是:double log(double x)。
例如,若m的值为:20,fun函数值为:6.506583。
double fun( int m)
{ int i;
double s=0;
for (i=1;i<=m;i++)
s=s+log(i);
s=sqrt(s);
return (s);}
1、请编写函数fun,其功能是:计算并输出给定10个数的方差:
┌ 1 10 ┐0.5
S=│ ─ ∑ (Xk-X')^2│
└ 10 k=1 ┘
1 10
其中X'=─ ∑ Xk
10 k=1
例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,输出为s=11.730729。
double fun(double x[10])
{ int i;
double avg=0.0;
double sum=0.0;
double abs=0.0;
double fc;
for (i=0;i<10;i++)
sum+=x[i];
avg=sum/10;
for (i=0;i<10;i++)
abs+=(x[i]-avg)*(x[i]-avg);
fc=sqrt(abs/10) ;
return fc;
}
2、请编写函数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。
double fun(int n)
{int i;
double fac=1.0;
double sum=1.0;
if (n>1&&n<=100)
for(i=2;i<=n;i++)
{fac+=sqrt(i);
sum+=fac;
}
return sum;
}
请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。
例如,给定数组中的9个元素依次为12.0、3
4.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,输出应为:s=35.951014。
double fun(double x[9])
{int i ;
double avg=0.0,sum=0.0;
for (i=0;i<8;i++)
{avg=(x[i]+x[i+1])/2;
sum+=sqrt(avg);
}
return sum;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论