① c語言的編程題!百思不得其解為什麼最後運算結果不對!
fac=fac*(fac+1);這兒錯了
fac是階乘吧?
應該另外一個變數,保存當前乘到哪個數了,比如i
正確的應該是fac=fac*i;
#include<stdio.h>
int main(void)
{
float sum=1,term=0,n;
int fac=1;
int i = 1;
printf("Enter the limit: ");
scanf("%f",&n);
term=1.0/fac;
while(term > n)
{
sum=sum+term;
i++;
fac=fac*i;
term=1.0/fac; //這個放在後邊
}
printf("e approximates %f",sum);
}
② C語言求e的值
printf("%lf\n",e);
改成
printf("%.100lf\n",e);
因為double精度只能顯示10多位,後面是0.
一定要精度換數組保存.
③ C語言:求e的近似值
你寫的是使用泰勒公式求e,少一個1。
正確的:e=1+1/1!+1/2!+1/3!+......
》C++代碼(while循環)》》:
#include<iostream.h>
void main()
{
double e=1;
double jc=1;//求階乘,並存入jc中
int i=1;
while(1/jc>=1e-6)
{
e=e+1/jc;
i++;
jc=jc*i;
}
cout<<"e="<<e<<endl;
}
》C代碼》》:
#include<stdio.h>
void main()
{
double e=1;
double jc=1;//求階乘,並存入jc中
int i=1;
while(1/jc>=1e-6)
{
e=e+1/jc;
i++;
jc=jc*i;
}
printf("e=%f\n",e);
}
④ c語言中怎求數學中的e是多少啊
我給你介紹一個公式吧:(泰勒工式展開式)
e=1+ 1 + 1/2! +1/3! +1/4! +1/5! + ...+ 1/n!
其中,n!表示n的階乘:n!=n*(n-1)*(n-2)*...*3*2*1;可以專門設計一個子函數求 n! ;(n越大,精確度越高)
下面是代碼:
//網頁上直接寫的,在VC++6.0運行時如果編譯出錯,那就改一下分
//號和逗號
#include<stdio.h>
#define N 20
int jiecheng(int n)
{
int i=n;
int result=1;
while(i)//
{
result*=i;
i--;
}
return result;
}
void main()
{
int i;
double e=2;
for(i=2;i<N;i++)
{
e+=1/(jiecheng(i)*1.0)
}
printf("e=%lf\n",e);
}
⑤ 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是多少啊
C語言中數e(指數e)可以用exp( )函數表示。
函數原型:double exp(double x);
功能:計算e^x的值
返回值:計算結果
舉例:
double x=1.5, y;
y = exp(x); // y的值就是e^1.5
註:使用exp函數時,需要將頭文件#include<math.h>添加進源文件中。
⑦ c語言的問題,結果為什麼不對。這個是在求e的值
#include<stdio.h>
intmus(intn);
main()
{
intn=0;
doublee=1;
while(1.0/mus(n++)>1e-6)
e+=1.0/mus(n);
printf("%lf
",e);
}
intmus(intn)
{
inti,f=1;
for(i=1;i<=n;i++)
f*=i;
returnf;
}
⑧ C語言編程計算e
樓主你好
具體代碼如下:
#include<stdio.h>
int main()
{
double e=1,index;
int i=1,j=1;
do{
i*=j;
index=1.0/i;
e+=index;
j++;
}while(index>=1E-6);
printf("e=%.5f\n",e);
return 0;
}
希望能幫助你哈