C语言:求e的近似值

Python014

C语言:求e的近似值,第1张

这题目有点奇怪:计算精度到10^-4为止,输出却要到12位小数(要那么多位不准确的数?)

#include<stdio.h>

int main()

{int i,t=1

 double e=0

 for(i=1t<10000i++)

 {e+=1.0/t

  t*=i

 }

 printf("%.12lf\n",e)

 return 0

}

分析:有两种情况

(1)计算前n项

源程序如下:

#include<stdio.h>

int

main()

{

double

item=1,sum=1

int

n,i

scanf("%d",&n)

for(i=1i<=ni++)

{

item*=1.0/i

sum+=item

}

printf("The

sum

is

%lf\n",sum)

return

0

}

(2)计算各项直到最后一项小于10^(-4)

源程序如下:

#include<stdio.h>

#include<math.h>

int

main()

{

double

item=1,sum=1,n=1

do

{

item*=1.0/n

sum+=item

n++

}while(fabs(item)>=1e-4)

printf("The

sum

is

%lf\n",sum)

return

0

}