❶ 用C++编程求e^x的近似值,要求精确度<=10^(-8),以下是我的编程:
在头文件里加上这个:#include"iomanip.h"
最后一行改为:cout<<setprecision(11)<<"e="<<e<<endl;
注:setprecision(num),num是几,小数点后就保留num-1位!
另外我是一名软件工程专业的大学生,以后有问题可以问我,我的邮箱是[email protected]
❷ 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);
}
❸ 编写程序求自然对数e的近似值
算法说明
累加形式:V=V+e
连乘形式:V=V*e
其中:V是变量,e是递增表达式。累加和连乘一般通过循环结构来实现。
注意:需在执行循环体前对变量V赋初值。一般的,累加时置初值0;连乘时置初值为1.
举例
求N!的结果。
Private Sub Command1_Click()
Dim n%, i%, s&
n = Val(InputBox("输入n"))
s = 1
For i = 1 To n
s = s * i
Next i
Print s
End Sub
错误的写法:
Private Sub Command1_Click()
Dim n%, i%, s&
n = Val(InputBox("输入n"))
For i = 1 To n
s = 1 ‘赋初值语句位置不对!
s = s * i
Next i
Print s ‘输出s的值为n,而不是n!
End Sub
应用举例
根据下列公式,求自然对数e的的近似值。
要求:误差小于0.00001
Private Sub Command1_Click()
Dim i%, n&, t!, e!
e = 2
i = 1
t = 1
Do While t > 0.00001
i = i + 1
t = t / i
e = e + t
Loop
Print "计算了"; i; "项目和是:"; e
Print Exp(1) ‘与上句输出值进行对比以证明算法的正确性
End Sub
解题技巧
1) 由于这类题目往往是根据精度要求来求值,因此我们不能预知具体循环次数,所以这类题目一般用Do循环,很少用For循环。设定循环变量和通项变量,注意各变量的初值;
2) 分解通项表达式中各因子,并分别将各因子用循环变量表示;
3) 如果步骤2中有的因子比较复杂,难以直接用变量表示,此时可以考虑使用Function过程;
4) 根据步骤1、2、3,写出通项表达式;
5) 根据精度要求(往往是通项小于10负多少次方这样一个关系表达式),写出一条满足精度要求后跳出循环的语句。通常是用:if 通项表达式>10^(-N) then exit do ,注意这句话一般需放在累加或者连乘式之前。
❹ 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!+1/2!+1/3!+..+1/n!
代码:
#include"iostream"
usingnamespacestd;
intfact(intn)//求阶乘
{
intsum=1;
inti;
if(n==0)
return1;
else
{
for(i=1;i<=n;i++)
sum*=i;
returnsum;
}
}
intmain()
{
inti=1,j=1,n;
doublee,t=0;
cin>>n;
e=0;
for(i=0;i<=n;i++)
{
t+=1.0/fact(i);
}
e=e+t;
cout<<"e="<<e<<endl;
return0;
}
结果:
❻ 编程求e的近似值 e=1+1!+1/2!+1/3!+……+1/10/那为高手能用编程的方法把e 算出来最后结果是2点多
刚才回答的少+了个1,不好意思啊,呵呵,刚才没看清 把前面的那个1漏掉了
Private Sub Form_Click()
For i = 1 To 10
s = s + i ^ 2
Sum = Sum + 1 / s
Next
Print Sum +1
End Sub
❼ 求e的近似值 c语言
#include int main(){ double frac=1.0,x=1.0,num=1.0,e=0.0; while(x>=1e-6) { e+=x; num++; frac*=num; x=1.0/frac; } printf("e=:%lf",e);}
❽ python编程 求e的近似值
def f(x,n):
s=1
for i in range(1,n+1):
s=s*i
a=1/s
return a
def e(n):
s=1
if n<=0:
print('不符合要求')
elif n>1000:
print('不符合要求')
elif isinstance(n,float):
print('不符合要求')
else:
for i in range(1,n+1):
s=f(i,i)+s
print('%.8f'%s)
if __name__=='__main__':
n=int(input('请录入飞负正数<=1000\n'))
e(n)
我写的,格式化下,看看测试点对不
❾ 编程求e的近似值 e=1+1!+1/2!+1/3!+……+1/10/那为高手能帮我把这道程序编出来 谢谢了
Private Sub Form_Click()
For i = 1 To 10
s = s + i ^ 2
Sum = Sum + 1 / s
Next
Print Sum
End Sub
❿ VB中e的近似值怎么编程 求高手指点
假定窗体form1上有一个label1控件用来显示结果,那么,只需要在form1_load()中加入以下语句即可:
label1.caption
=
round(
exp(
1
)
,
5
)