我真的菜到无语 2021-06-13 08:00 采纳率: 100%
浏览 2475
已采纳

求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);

}

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

  • 写回答

2条回答 默认 最新

  • 关注

     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);
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格