C语言 计算e及e的次方的近似值

首先考虑计算e的近似值,使用公式:e=1+1/1!+1/2!+1/3!+……("/"表示除)。

代码如下:

/*计算e的近似值*/
#include<stdio.h>

main(){
   int i,j,a,b=1;
   float d=1;
   printf("请输入公式中的n值:");
   scanf("%d",&a);
   for(i=1;i<=a;i++){
    for(j=1;j<=i;j++){
       b*=j;
    }
    d+=1.00/b;
    b=1;
   }
   printf("e值为:%.2f\n",d);

   return 0;
}

再考虑计算e^m的近似值,使用公式:e^m=1+m/1!+m^2/2!+m^3/3!+…… 。

代码如下:

#include<math.h>

main(){
 int i,j,n,m,c=1;
 float d=1;
 /*n值即泰勒公式中的n值用于确定精确度*/
 printf("请输入n值:\n");
 scanf("%d",&n);
 /*m值即次方数*/
 printf("请输入m值:\n");
 scanf("%d",&m);
 for(i=1;i<=n;i++){
    for(j=1;j<=i;j++){
        c*=j;
    }
    d+=pow(m,i)/c;
    c=1;
 }
 printf("e^m的值为%.2f",d);
}

对于以上两个简单的程序,注意一下几点:

1、这里都是将数学中的展开式用于程序设计中,像求e的近似值,乍一看可能觉得无从下手,但用数学式子一展开,就很清晰明了;

2、这里两个程序中的整数阶乘值的计算正常应该封装在函数中,增强代码复用性;

3、两个代码中的n值对应两个展开式中的n值,可以调控近似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值