C语言:求1 + 1/2! +....+ 1/n!

求1 + 1/2! +....+ 1/n!
输入正整数n,计算上式前n 项的和(保留 4 位小数)。
例:输入 10
输出 1 + 1/2! +....+ 1/10!=1.7183

第1个回答  2009-04-01
//欢迎在线讨论
#include<stdio.h>
void main()
{
int a=1,i,n;
float result=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a*=i;
result+=1.0/a;
}
printf("%f",result);
}本回答被提问者采纳
第2个回答  2009-04-01
#include <stdio.h>
long fun(int n)
{
long s=1;

if(n == 1)
s=1;
if(n != 1)
s=n*fun(n-1);

return s;

}
void main()
{
double sum = 0;
int i;
printf("请输入数字:");
scanf("%d",&i);
int n=1;
for(n;n<=i;n++)
{
sum += 1.0/fun(n);
}
printf("%.4f\n",sum);
}
第3个回答  2009-04-01
#include <stdio.h>
main()
{
int i,n;
double d=1;
double sum=1;
scanf("%d",&n);
printf("1");
for (i=2;i<=n;i++)
{
printf("+1/%d!",i);
d*=(double)i;
sum+=(double)(1.0/d);
}
printf("=%f\n",sum);
}