编写程序:用for循环求e的值,e=1+1/1!+1/2!+1/3!+…+1/n!(计算前50项)。

编写程序:用for循环求e的值,e=1+1/1!+1/2!+1/3!+…+1/n!(计算前50项)。(要求用函数调用)

第1个回答  推荐于2016-08-10
#include<stdio.h>
double fun(int n);
void main()
{ printf("e=1/1!+1/2!+…+1/50!=%lf\n",fun(50));
}

double fun(int n)
{ double e=0,t=1;
int i=1;
for(i;i<=n;i++)
{ t=t*i;
e=e+1.0/t;
}
return e+1;
}

昨天的有点小错误本回答被提问者采纳
第2个回答  2009-12-05
/*取n=50就是你要求的结果*/
#include "stdio.h"
float fun(float n)
{
if(n==1) return (float)1.0;
else return (float)(1.0/n)*fun(n-1);
}
void main()
{
float n,e;
int i;
e=1.0;
printf("n = ?\n");
scanf("%f",&n);
for(i=1;i<=n-;i++)
e+=fun((float)i);
printf("1+1/1!+1/2!+1/3!+....=%f",e);
}
相似回答