C语言麦克劳林展开e^x,sinx,cosx

//e^x
#include<stdio.h>
int main(void)
{
 float fac,i,ex,xn,x;
 printf("please input x:");
 scanf("%f",&x);
 for(fac=1,xn=1,ex=1,i=1;xn/fac>1e-6;i++)//初值,循环条件
 {
  fac=fac*i;//实现分母(n!)
  xn=xn*x;//实现分子(x^n)
  ex=ex+xn/fac;//n次累加
 }
 printf("e^x=%f",ex);
}
//sin(x)
#include<stdio.h>
int main(void)
{
 float sinx,x,xn,fac,i;
 printf("please input x:");
 scanf("%f",&x);
 for(i=3,xn=x,fac=1,sinx=x;xn/fac>1e-6||xn/fac<-1e-6;i=i+2)
 {
  xn=xn*x*x;//实现分子(每次递增x的次幂加2)
  fac=(-1)*i*(i-1)*fac;//实现分母((2n+1)!)以及(-1)^n
  sinx=sinx+xn/fac;//累加
 }
 printf("sin x=%f",sinx);
}
//cos(x)
#include<stdio.h>
int main(void)
{
 float cosx,i,xn,x,fac;
 printf("please input x:");
 scanf("%f",&x);
 for(xn=1,fac=1,cosx=1,i=2;xn/fac>1e-6||xn/fac<-1e-6;i+=2)
 {
  xn=xn*x*x;//实现分子(每次递增x的次幂加2)
  fac=(-1)*i*(i-1)*fac;//实现分母((2n)!)以及(-1)^n
  cosx=cosx+xn/fac;//累加
 }
 printf("cos x=%f",cosx);
}

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值