当前位置:首页 » 编程语言 » c语言for求e的近似值

c语言for求e的近似值

发布时间: 2023-02-11 17:33:37

c语言求帮助!!求e的近似值,用1/1!+1/2!+1/3!+.......1/n!

首先:%0.2f表示小数点后只要两位的喔?
其次:错误是在while(sum>le-6),这个是因为,刚刚开始的时候,sum就是一个0,不大于le-6,所以,sum的结果是0。
最后稍微改动了一下:
#
include
"stdio.h"
void
main()
{
int
n=1;
long
k=1;
float
sum=0;
float
temp
=
1;
while(temp>1e-6)
{
k
*=
n;
temp
=
1.0/k;
sum
+=
temp;
n++;
}
printf("%.2f\n",sum);
}

㈡ 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);
}

㈢ C语言编程序,求e的近似值e≈1+1/2!+1/3!+…+1/n!

分析:有两种情况
(1)计算前n项
源程序如下:
#include<stdio.h>
int
main()
{
double
item=1,sum=1;
int
n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{

item*=1.0/i;

sum+=item;
}
printf("The
sum
is
%lf\n",sum);
return
0;
}
(2)计算各项直到最后一项小于10^(-4)
源程序如下:
#include<stdio.h>
#include<math.h>
int
main()
{
double
item=1,sum=1,n=1;

do
{

item*=1.0/n;

sum+=item;

n++;
}while(fabs(item)>=1e-4);
printf("The
sum
is
%lf\n",sum);
return
0;
}

㈣ C语言编程:利用下面公式,求自然对数e的近似值 e=1+1/1!+1/2!+1/3!+............

//C语言中,求e=1/1!+1/2!+…+1/n!精确到10ˉ8
#include<stdio.h>

intmain(void)
{
longn=0,ns=1;doublex=0.0f,y=0.0f,e=1.0f;
for(;;){
n++;/*计算n*/
ns*=n;/*计算n!*/
x=ns;
y=1.0f/x;/*计算1/n!*/
if(y<1e-8)break;/*如果足够小则停止*/
e+=y;/*计算e*/
}
printf("%9.8f ",e);/*输出结果*/
return0;
}




参考自:http://..com/link?url=U13lLtXlkIyBeFe4_G4I15Kc20oj9A0Xp__q

㈤ 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的近似值,e为下列数列的前n项之和,n由键盘输入,e=1+1/1!+1/2

#include<stdio.h>
unsignedlongjc(intn);

voidfun(intn)
{
doublee=1.0;
inti;

for(i=1;i<=n;i++)
{
e=e+1.0/jc(i);
}
printf("%g ",e);
}

unsignedlongjc(intn)
{
if(n==1)
return1;
else
returnn*jc(n-1);
}

intmain()
{
intn;

while(scanf("%d",&n)!=EOF)
{
fun(n);
}
return0;
}

㈦ c语言 求e的近似值e=1+1/1!+1/2!+1/3!+……当最后一项小于10的6次方。

#include<stdio.h>
intmain(){
floatp=1,a=1,e=1;
while(1/a>=1e-6){
a*=p;
e+=1/a;
p++;}
printf("e=%f ",e);
return0;
}

㈧ c语言编程题,求e的近似值,e=1/1!+1/2!+1/3!+......+1/n!,累加项小于1

楼主你好!
首先你的公式我认为是错的!前面第一项漏加了个1
正确的公式为:e=1+1/1!+1/2!+1/3!+......+1/n!
代码实现如下:
#include<stdio.h>
int
fun(int
n)
{
if(n
==
1)return
1;
return
n*fun(n-1);
}
int
main()
{
double
sum
=1.0
;
int
i
=
1;
while((1.0/fun(i))>=1e-8)
{
sum
+=(1.0/fun(i));
i++;
}
printf("%.8lf",sum);
}
运行结果为2.71828183
网上查到的值2.718281828459
由此可知,前8位小数基本一样!
希望我的回答对你有帮助!
望采纳!谢谢!

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:752
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1012
python中的init方法 发布:2025-10-20 08:17:33 浏览:719
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:879
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:775
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1127
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:351
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:229
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:912
python股票数据获取 发布:2025-10-20 07:39:44 浏览:876