『壹』 c語言編程求自然數e
#include "stdio.h"
void main()
{
int k,j;
long m;
double e=0;
for(k=0;;k++)
{
// k!
for(j=1,m=1;j<=k;j++)
{
m*=j;
}
e+=1.0/m;
if(1.0/m < 0.000001)
break;
}
printf("e=%lf",e);
printf("\npress any key to exit:\n");
getch();
}
運行結果:
e=2.718282
press any key to exit:
『貳』 用c語言怎樣求自然常數e
代碼如下
:
運行過了
輸出e=2.718282
不知是否滿意
望採納
#include
void
main(){
long
fun(int
n);
int
i;
double
e=0;
double
eps=1e-6;//eps表示精度
此處指10的-6次方
for(i=0;1.0/fun(i)>eps;i++)
{
e+=1.0/fun(i);
}
printf("e=%lf\n",e);
}
long
fun(int
n)//求n!的函數
{
if(n==0)
return
1;
else
return
n*fun(n-1);
}
『叄』 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的值 e=1+1/1!+1/2!+1/3!+......
#include <stdio.h>
int main() {
long int i, k;
double n=1.0l;/*n!
double s = 1.0l;
for (i = 1; i < 50; i++) {
n=n*i;
s += 1.0 / n;
}
printf("e = %lf ", s);
getchar();
return 0;
}
或:
public class Test{
public static void main(String args[]){
double sum=1,n=1;
double e=1;
for(n=1;n<=10;n++){
sum=sum*n;
e+=1/sum;}
System.out.println("e="+e);
}
}
得到的值為:2.7182818011463845...
隨著n值越專大得到的e值越精屬確。
(4)c語言求e的值為擴展閱讀:
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。