【问题描述】
输入一个正整数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