c語言for求e的近似值
㈠ c語言求幫助!!求e的近似值,用1/1!+1/2!+1/3!+.......1/n!
首先:%0.2f表示小數點後只要兩位的喔?
其次:錯誤是在while(sum>le-6),這個是因為,剛剛開始的時候,sum就是一個0,不大於le-6,所以,sum的結果是0。
最後稍微改動了一下:
#
include
"stdio.h"
void
main()
{
int
n=1;
long
k=1;
float
sum=0;
float
temp
=
1;
while(temp>1e-6)
{
k
*=
n;
temp
=
1.0/k;
sum
+=
temp;
n++;
}
printf("%.2f\n",sum);
}
㈡ C語言編程序,求e的近似值e≈1+1/2!+1/3!+…+1/n!(1)計算前20項(2)計算各項直到最後一項小於10^(-4)為
這個是保留兩位小數。忘採納啊
#include "stdio.h"
main()
{
int n,s;
int i,j;
doublesum,item;
sum=1;
printf("Entern:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
item=1;
for(j=1;j<=i;j++)
{
item=item*j;
}
sum=sum+1/item;
}
printf("1+1!+1/2!+1/3!.....+1/n!=%.2f",sum);
}
㈢ C語言編程序,求e的近似值e≈1+1/2!+1/3!+…+1/n!
分析:有兩種情況
(1)計算前n項
源程序如下:
#include<stdio.h>
int
main()
{
double
item=1,sum=1;
int
n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
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;
}
㈣ C語言編程:利用下面公式,求自然對數e的近似值 e=1+1/1!+1/2!+1/3!+............
//C語言中,求e=1/1!+1/2!+…+1/n!精確到10ˉ8
#include<stdio.h>
intmain(void)
{
longn=0,ns=1;doublex=0.0f,y=0.0f,e=1.0f;
for(;;){
n++;/*計算n*/
ns*=n;/*計算n!*/
x=ns;
y=1.0f/x;/*計算1/n!*/
if(y<1e-8)break;/*如果足夠小則停止*/
e+=y;/*計算e*/
}
printf("%9.8f ",e);/*輸出結果*/
return0;
}
參考自:http://..com/link?url=U13lLtXlkIyBeFe4_G4I15Kc20oj9A0Xp__q
㈤ C語言:求e的近似值
這題目有點奇怪:計算精度到10^-4為止,輸出卻要到12位小數(要那麼多位不準確的數?)
#include<stdio.h>
intmain()
{inti,t=1;
doublee=0;
for(i=1;t<10000;i++)
{e+=1.0/t;
t*=i;
}
printf("%.12lf
",e);
return0;
}
㈥ 用c語言編程,求無理數e的近似值,e為下列數列的前n項之和,n由鍵盤輸入,e=1+1/1!+1/2
#include<stdio.h>
unsignedlongjc(intn);
voidfun(intn)
{
doublee=1.0;
inti;
for(i=1;i<=n;i++)
{
e=e+1.0/jc(i);
}
printf("%g ",e);
}
unsignedlongjc(intn)
{
if(n==1)
return1;
else
returnn*jc(n-1);
}
intmain()
{
intn;
while(scanf("%d",&n)!=EOF)
{
fun(n);
}
return0;
}

㈦ c語言 求e的近似值e=1+1/1!+1/2!+1/3!+……當最後一項小於10的6次方。
#include<stdio.h>
intmain(){
floatp=1,a=1,e=1;
while(1/a>=1e-6){
a*=p;
e+=1/a;
p++;}
printf("e=%f ",e);
return0;
}

㈧ c語言編程題,求e的近似值,e=1/1!+1/2!+1/3!+......+1/n!,累加項小於1
樓主你好!
首先你的公式我認為是錯的!前面第一項漏加了個1
正確的公式為:e=1+1/1!+1/2!+1/3!+......+1/n!
代碼實現如下:
#include<stdio.h>
int
fun(int
n)
{
if(n
==
1)return
1;
return
n*fun(n-1);
}
int
main()
{
double
sum
=1.0
;
int
i
=
1;
while((1.0/fun(i))>=1e-8)
{
sum
+=(1.0/fun(i));
i++;
}
printf("%.8lf",sum);
}
運行結果為2.71828183
網上查到的值2.718281828459
由此可知,前8位小數基本一樣!
希望我的回答對你有幫助!
望採納!謝謝!
