用c++编写e=1+1⼀1!+1⼀2!+1⼀3!......1⼀n!,计算e的值。要求:1用for循环计算到公式的前50项。2用while循环

直到公式最后一项的值小于10的-4为止。要c++
2024-12-04 22:16:37
推荐回答(4个)
回答1:

#include
double fact(int n) //求阶乘。
{
int i;
double re;
re =1;
for(i=1;i<=n;i++)
{
re *=i;
}
return re;
}
int main()
{
double e=0.0;
int i;
e=1.0;
double temp;
for(i=1;i<50;i++) //for的循环。
{
temp=1.0/fact(i);
e +=temp;
}
//printf("e=%lf\n",e);
cout<<"e="< e=0.0;
temp=1;
i=1;
while(temp>=1E-4) //while的循环。
{
e +=temp;
temp=1.0/fact(i);
i++;
}
//printf("e=%lf\n",e);
cout<<"e="< getchar();
return 0;
}

回答2:

#include
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;
}

昨天的有点小错误
另外,团IDC网上有许多产品团购,便宜有口碑

回答3:

#include
using namespace std;
int main()
{
float i,j,k=1,e=1;
for(i=1;;i++)
{
k*=i;
if(1/k<0.0001)
break;
e+=1/k;

}
cout<<"e="<
}

回答4:

1.
#include
using namespace std;
void main()
{
double e=1;
int i;
for(i=1;i<=50;i++)
e+=1.0/i;
cout<}
2.
#include
using namespace std;
void main()
{
double e=1;
int i=1;
while(1<=50)
{
e+=1.0/i;
i++;
}
cout<}