c语言编程题,急!!!!!
设计程序完成下列公式的计算已知y=f(x,n)/{f(x+2.3,n)+f(x-3.2,n+3)其中,f(x,n)=1-x^2/2!+x^4/4!-…+{(-1)^n*x...
设计程序完成下列公式的计算
已知y=f(x,n)/{f(x+2.3,n)+f(x-3.2,n+3)
其中,f(x,n)=1-x^2/2!+x^4/4!-…+{(-1)^n*x^2n}/(2n)!
(n>=0)
当x=5.6,n=7时,求y的值.
要求通过函数嵌套调用完成计算。
这道题是李震平主编《c语言程序设计项目教程》第199页11题 展开
已知y=f(x,n)/{f(x+2.3,n)+f(x-3.2,n+3)
其中,f(x,n)=1-x^2/2!+x^4/4!-…+{(-1)^n*x^2n}/(2n)!
(n>=0)
当x=5.6,n=7时,求y的值.
要求通过函数嵌套调用完成计算。
这道题是李震平主编《c语言程序设计项目教程》第199页11题 展开
展开全部
#include "stdio.h"
main()
{
float sum=0,s=1,t=1,x; /*s,t最好用浮点,要不然经常溢出,另外初值应当是1*/
int i,k=1,n;
printf("input x=");
scanf("%f",&x);
printf("\ninput n=");
scanf("%d",&n);
for(i=0;;i+=2)
{
if(i<=2*n)
{
sum+=(t/s)*k;
k*=-1;
}
else
break;
s*=(i+1)*(i+2); /*阶乘的计算要乘以两项*/
t*=x*x;
}
printf("y=%f\n",sum);
getch();
}
/*类似cos的泰勒展开式*/
展开全部
#include <stdio.h>
double jc(int n)
{
double s=1;
int i;
for(i=1;i<=n;i++)
s*=i;
return s;
}
double f(double x, int n)
{
int i;
double s=0,c=1;
if(n<=0)
return 1;
for(i=1;i<=n;i++)
{
c*=(-1)*x*x/jc(2*i);
s+=c;
}
return s;
}
int main()
{
double x,y;
int n;
scanf("%lf%d",&x,&n);
printf("%lf\n",f(x,n)/(f(x+2.3,n)+f(x-3.2,n+3)));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询