展开全部
按你的问题定义写的,但是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);
}
#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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你一个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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是山东的吧,我记得我高中学数学三时是要求写算法不是写程序的,还请楼主明示
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
#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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询