c语言:输入一个正整数n,用3种方法求e=1+1⼀1!+1⼀2!+。。。。

2024-12-05 13:20:35
推荐回答(1个)
回答1:

#include
int main(void)
{
int i,item,n;
double e;
item=1;
e=1;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++){
item=item*i;
e=e+1.0/item;
}
printf("e=%.4f\n",e);
return 0;
}

(2)
#include
double fact(int n);
int main(void)
{
int i,n;
double e;
e=1;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++){
e=e+1.0/fact(i);
}
printf("e=%.4f\n",e);
return 0;
}
double fact(int n)
{
int i;
double result;
result =1;
for(i=1;i<=n;i++)
result=result*i;
return result;

}
(3)
#include
int main(void)
{
int i,j,n;
double e,item;
e=1;
printf("Input n:");
scanf("%d",&n);
for(i=1;i<=n;i++){
item=1;
for(j=1;j<=i;j++)
item=item*j;
e=e+1.0/item;
}
printf("e=%.4f\n",e);
return 0;
}
运行一下,