求教C语言e=1+1/1!+1/2!+1/3!+...+1/n!怎么编写~~!!!

最好用while循环语句,而且最后一项的值小于1e-6

n!用递归吧 其他就是按照1加到100那样子算吧
main()
{
int jiecheng(int x);
int i,j=1;
for(i=1;i<=n;i++)
{
j=j+1/jiecheng(i);
}
printf("e=%d",j);
}

int jiecheng(int x)
{
int y;
if(x==1) y=1;
else y=x*jiecheng(x-1) ;
return y;

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-09
void main(void)
{
const int n=100;
double e=1,s=1;
int i;
for ( i = 1 ; i <= n ; i++ )
{
s/=i;
e+=s;
}
printf("%lf",e);
}
第2个回答  2009-08-09
double e;
for(int i=1,s=1,e=0;i<=n;i++)
{
s*=i;//求阶乘
e+=1/s;
}
第3个回答  2009-08-10
#include<iostream>
using namespace std;
int main()
{
int n,i;
float ans=1;
int temp=1;
cin>>n;
for(i=1;i<=n;i++)
{
temp=i*temp;
ans+=1/temp;
}
ans>>cout;
return 0;
}
小心溢出……
加一个do-while语句,当ans<1e-6时,结束循环……

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网