求e=1+1/1!+1/2!+1/3!+ …+1/n!

【问题描述】

输入一个正整数n,用3种方法分别计算下式的和(保留4位小数)。

e=1+1/1!+1/2!+1/3!+ …+1/n!

要求:定义和调用函数fact(n)计算n的阶乘。

【输入形式】

从键盘输入一个正整数n。

【输入输出样例1】(下划线部分表示输入)

Input n: 10

e=2.7183

【输入输出样例2】(下划线部分表示输入)

Input n: 3

e=2.6667

 

 

我的代码

#include <stdio.h>

double fact(int n)

{

    int i;

    double m = 1.0;

    for (i=1;i<= n;i++)

    {

        m=m*i;

    }

    return m;

}

 

void main()

{

int n,i;double e=1;

printf("Input n: ");

scanf("%d",&n);

for(i=1;i<=n;i++)

  {

    e=e+1/fact(n);

   }

printf("e=%.4f",e);

}

现在没法实现题目要求。麻烦大佬们帮忙看看

 e=e+1/fact(n);

改为

 e=e+1/fact(i);

 

#include "stdio.h"
void main()
{
    int n ;
    double result=0;
    double fa = 1;
    int i,j;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
    	fa = 1;
    	for(j=1;j<=i;j++){
    		fa = fa*j;
    			
    	}	
    	result += 1.0/fa;
    }
    printf("e=%lf",result);
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m