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题
展开
 我来答
1018903731
2013-06-07 · 超过16用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:34.5万
展开全部

#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的泰勒展开式*/

 谢谢采纳(*^__^*) 

百度网友83cdc1c
2013-06-05 · TA获得超过5788个赞
知道大有可为答主
回答量:1907
采纳率:100%
帮助的人:820万
展开全部
#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)));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式