
C语言题目,各位大虾帮帮忙。
题目:设计程序完成下列计算。已知y=f(x,n)/[f(x+2.3,n)+f(x-3.2,n+3)],其中f(x,n)=1-x的平方/2!+x的4次方/4-...+(-1...
题目:设计程序完成下列计算。
已知y=f(x,n)/[f(x+2.3,n)+f(x-3.2,n+3)],
其中f(x,n)=1-x的平方/2!+x的4次方/4-...+(-1)的n次方*x的2n次方/(2n)! (n〉=0)
当x=5.6,n=7时,求y。
要求通过嵌套函数完成计算。
我写了一个,不过不知道哪里错了。麻烦大虾们看一看。
如果是别的方法,只要正确也可以。拜托啦!!!
#include<stdio.h>
f(float x,float n)
{ float i,m=1,a,b=1,c=1,sum=1;
for(i=2;i<=n;i=i+2)
{c=c*i*(i-1);
m=(-1)*m;
b=b*x*x;
a=(b*m)/c;
sum=sum+a;
}
return(sum);
}
y(float x,float n)
{ float result,a,b,c;
a=f(x,n);
b=f(x+2.3,n);
c=f(x-3.2,n+2);
result=a/(b+c);
return(result);
}
main()
{ float x,n,result;
x=5.6;n=7;
result=y(x,n);
printf("y=%f\n",result);
}
上面的f(x,n)各项的分母都是阶层,那个4忘记写了 展开
已知y=f(x,n)/[f(x+2.3,n)+f(x-3.2,n+3)],
其中f(x,n)=1-x的平方/2!+x的4次方/4-...+(-1)的n次方*x的2n次方/(2n)! (n〉=0)
当x=5.6,n=7时,求y。
要求通过嵌套函数完成计算。
我写了一个,不过不知道哪里错了。麻烦大虾们看一看。
如果是别的方法,只要正确也可以。拜托啦!!!
#include<stdio.h>
f(float x,float n)
{ float i,m=1,a,b=1,c=1,sum=1;
for(i=2;i<=n;i=i+2)
{c=c*i*(i-1);
m=(-1)*m;
b=b*x*x;
a=(b*m)/c;
sum=sum+a;
}
return(sum);
}
y(float x,float n)
{ float result,a,b,c;
a=f(x,n);
b=f(x+2.3,n);
c=f(x-3.2,n+2);
result=a/(b+c);
return(result);
}
main()
{ float x,n,result;
x=5.6;n=7;
result=y(x,n);
printf("y=%f\n",result);
}
上面的f(x,n)各项的分母都是阶层,那个4忘记写了 展开
1个回答
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<cmath>
int fac(int n)
{ return (n==1?1:n*fac(n-1));
}
double f(double x,double n)//其中f(x,n)=1-x的平方/2!+x的4次方/4-...+v (n〉=0)
{
double i,m=1,a,b,c=1,sum=0;
for(i=2;i<=2*n;i=i*2) //i代表的是2n,每次乘以2
{
c=fac(i);
m=pow(-1,i/2);
b=pow(x,i); //乘方
a=(m*b)/c; //(-1)的n次方*x的2n次方/(2n)!
sum=sum+a;
}
return(sum);
}
double y(double x,double n)
{ double result,a,b,c;
a=f(x,n);
b=f(x+2.3,n);
c=f(x-3.2,n+2);
result=a/(b+c);
return(result);
}
int main()
{ double x,n,result;
x=5.6;n=7;
result=y(x,n);
printf("y=%f\n",result);
return 0;
}
不知道对不对 你对着看看
#include<stdlib.h>
#include<cmath>
int fac(int n)
{ return (n==1?1:n*fac(n-1));
}
double f(double x,double n)//其中f(x,n)=1-x的平方/2!+x的4次方/4-...+v (n〉=0)
{
double i,m=1,a,b,c=1,sum=0;
for(i=2;i<=2*n;i=i*2) //i代表的是2n,每次乘以2
{
c=fac(i);
m=pow(-1,i/2);
b=pow(x,i); //乘方
a=(m*b)/c; //(-1)的n次方*x的2n次方/(2n)!
sum=sum+a;
}
return(sum);
}
double y(double x,double n)
{ double result,a,b,c;
a=f(x,n);
b=f(x+2.3,n);
c=f(x-3.2,n+2);
result=a/(b+c);
return(result);
}
int main()
{ double x,n,result;
x=5.6;n=7;
result=y(x,n);
printf("y=%f\n",result);
return 0;
}
不知道对不对 你对着看看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询