这个怎么搞啊,有没有同志看一下
问题描述:
输入一个正整数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
答
float fact(n)
{
int sum=1;
while(n)
sum*=n--;
return (float)sum;
}
int main()
{
int n;
float res=0.f;
printf("Input n: ");
scanf("%d",&n);
for(int i=0;i<=n;++i)
res += 1.0f/fact(i);
printf("e=%.4f",res);
return 0;
}