用C++求s=1+1/1!+1/2!+……+1/n!限差为0.000005

用C++编写,谢谢各位大哥大姐啦

#include<iostream>
#include<cmath>
using namespace std;
float fun(int n)
{
float sum=1;
for(int i=1;i<=n;i++)
sum*=i;
return sum;
}
void main()
{
int n=1;
float sum=0;
float t=0;
do{
sum+=1/fun(n);
t=1/fun(n);
n++;
}while(t>0.000005);
cout<<"s="<<sum<<endl;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-29
#include<stdio.h>
main()
{
int n=1;
double sum=0,t;
for(;;n++)
{
t=1.0/n;
if(t<0.000005) break;
else sum=sum+t;
t=0;
}
printf("%f\n",sum);
}
第2个回答  2009-03-30
#include <iostream>
using namespace std;
void main()
{
int n;
cout<<"请输入一个正整数:";
cin>>n;
double a=1;
double s=1;
do
{
for (int i=1;i<=n;i++)
{
a=a*i;
s=s+1/a;
}
}while(1/a>0.0000005);
cout<<s<<endl;
}
相似回答