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

(1)精确到小数点后200位,用户输入n,就运算到1/n!(2)然后用户之后输入100,输出小数点后100的数字

分析:有两种情况
(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;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27
#include <math.h>
main()
{
int n,i,b;
long a=1;
double e,x;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a*=i;
e+=1.0/a;

}
printf("e=%lf",e);
x=e-(int)e;
printf(" input bit b(1~14):");/*这边给您输出最多14位的小数*/
scanf("%d",&b);
printf("is %ld",(int)(x*pow(10,b)));
}

精确小数的 可以加
do
{

}while(x<0.0000000001);/*数字自己定*/
的代码
希望对你有所帮助!本回答被网友采纳
第2个回答  2019-09-25
#include
<math.h>
main()
{
int
n,i,b;
long
a=1;
double
e,x;
printf("Input
n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a*=i;
e+=1.0/a;
}
printf("e=%lf",e);
x=e-(int)e;
printf("
input
bit
b(1~14):");/*这边给您输出最多14位的小数*/
scanf("%d",&b);
printf("is
%ld",(int)(x*pow(10,b)));
}
精确小数的
可以加
do
{
}while(x<0.0000000001);/*数字自己定*/
的代码
希望对你有所帮助!
第3个回答  2012-11-11
程序没多大难度 但是精确小数位数有点不好办追问

那精确到200位 会吗 会的话也可以给分

第4个回答  2018-01-12
#include <math.h>
main()
{
int n,i,b;
long a=1;
double e,x;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a*=i;
e+=1.0/a;

}
printf("e=%lf",e);
x=e-(int)e;
printf(" input bit b(1~14):");/*这边给您输出最多14位的小数*/
scanf("%d",&b);
printf("is %ld",(int)(x*pow(10,b)));
}

精确小数的 可以加
do
{

}while(x<0.0000000001);/*数字自己定*/
的代码
希望对你有所帮助!

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>...

C语言编程序,求e的近似值e≈1+1\/2!+1\/3!+…+1\/n!(1)计算前20项(2)计 ...
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!是多少?
include <math.h> main(){ int n,i,b;long a=1;double e,x;printf("Input n:");scanf("%d",&n);for(i=1;i<=n;i++){ a*=i;e+=1.0\/a;} printf("e=%lf",e);x=e-(int)e;printf(" input bit b(1~14):");\/*这边给您输出最多14位的小数*\/ scanf("%d",&b);p...

C语言编写,求e的值.e≈1+1\/1!+1\/2!+1\/3!+……+1\/n!
define N 50 int main(int argc, char* argv[]){ double e=1,t=1;int t1;for (t1=2;t1<=N;++t1){ t*=(double)1\/t1;e+=t;} printf("%lf",e);return 0;} \/\/--- 2.\/\/--- include <stdio.h> const

...公式,求自然对数e的近似值 e=1+1\/1!+1\/2!+1\/3!+...
\/\/C语言中,求e=1\/1!+1\/2!+…+1\/n!精确到10ˉ8#include <stdio.h>int main(void){ long n = 0, ns = 1; double x = 0.0f, y=0.0f, e = 1.0f; for(;;) { n++; \/*计算n*\/ ns *= n; \/*计算n!*\/ x = ns; y = 1.0f \/ x; \/*计算1\/n!*\/ ...

c语言编程题,求e的近似值,e=1\/1!+1\/2!+1\/3!+...+1\/n!,累加项小于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("%.8...

用c语言编程序求e约等于1+1\/1!+1\/2!+1\/3!+……1\/n!当1\/n!小于等于10的...
include <stdio.h>int main(){ int n=1; unsigned long fac; double e=1.0; fac=n; while(fac>1e-5) { e=e+1.0\/fac; ++n; fac=fac*n; } printf("%f\\n",e);}计算 1\/n!不要都 用整数,1\/fac(n) 如果结果小于1将向下取整为0,用1.0...

用C语言编辑,e=1+1\/1!+1\/2!+1\/3!+...1\/n! 求e的近似值,由键盘输入N的...
include <stdio.h> int fun(int n){ int sum =1;for(int i =1;i<=n;i++)sum *= i;return sum;} void main(){ int i,n;float e = 0;scanf("%d",&n);for(i = 0;i<=n;i++){ e += 1.0\/fun(i);} printf("%7.6f",e);} ...

编译c语言程序,求e,e=1+1\/1!+1\/2!+1\/3!+...+1\/n!
include "stdio.h"void main(){ int i;long s=1;double e=1.0;for(i=1;i<=50;i++){ s*=i;e+=1.0\/s;} printf("%lf",e);} (2)while循环:include "stdio.h"void main(){ int i=1;long s=1;double e=1.0;while(1.0\/s>=1e-4){ s*=i++;e+=1.0\/s;} print...

...程序,按下面的近似公式计算 e=1+1\/1!+1\/2!+1\/3!+...+1\/n!+...
int i=1;double sum=0,term,deno=1;do { deno=deno*i; \/\/ 求出分母的阶乘 即 n! 利用性质 n!= n(n-1)! 求出各个项阶乘 term=1.0\/deno; \/\/ 每一项 sum+=term; \/\/ 对每一项求和 i++; \/\/ 相当于 n }while(i<=4); \/\/ 4以内 各个数字的阶乘 ...

相似回答