e=1/1!+1/2!+1/3!……1/n!(n!=1*2*3*4.........*n)根据输入n的得值求e的近似值的程序

要程序,数学必修3的... 要程序,数学必修3的 展开
 我来答
乄勿言
2010-11-22 · TA获得超过230个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:94.6万
展开全部
按你的问题定义写的,但是n要太大的话有问题,小数位显示不到那么多:
#include<stdio.h>
int main()
{
float e=0;
int i,j,n;
long m=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
m*=j;
}
e+=1.0/m;
}
printf("%f",e);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lqhuizheng
2010-11-22 · TA获得超过748个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:113万
展开全部
给你一个fortran的计算程序。
program main
double precision e
integer i,n
double eps
e=0.0
i=1
n=1
eps=1.0e-9 !精度
while((1.0/n)>eps)
i=i+1
n=n*i
e=e+1.0/n
end
print(*,*)e
end program main
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜雨YaYoo
2010-11-22 · TA获得超过136个赞
知道答主
回答量:33
采纳率:0%
帮助的人:25.2万
展开全部
你是山东的吧,我记得我高中学数学三时是要求写算法不是写程序的,还请楼主明示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
swordlance
2010-11-22 · TA获得超过1008个赞
知道小有建树答主
回答量:535
采纳率:75%
帮助的人:447万
展开全部
C程序:
#include<stdio.h>
#include<stdlib.h>

int main()
{
double e;
double m;
int i,n;

printf("Input n:");
scanf("%d",&n);

e=1.0L;
m=1.0L;
for(i=1;i<=n;++i)
{
m*=(double)i;
e+=1.0L/m;
}

printf("e=%g\n",e);

system("PAUSE");
return 0;
}
顺便说一下 e=1+1/1!+1/2!+.....

INPUT "n=";n
e=1
m=1
i=1
WHILE i<=n DO
m=m*i
e=e+1/m
i=i+1
WEND
PRINT "e=";e
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式