C语言编程,分别用while语句、do-while语句、for语句编写程序,计算e≈1+1/1!+ 5

C语言编程,分别用while语句、do-while语句、for语句编写程序,计算e≈1+1/1!+1/2!+…+1/n!... C语言编程,分别用while语句、do-while语句、for语句编写程序,计算e≈1+1/1!+1/2!+…+1/n! 展开
 我来答
xoaxa
2017-08-04 · TA获得超过8608个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3430万
展开全部

#include <stdio.h>

double exp1(int n) {
double i,m = 1,ee = 1;
for(i = 1; i < n; ++i) {
m *= i;
ee += 1.0/m;
}
return ee;
}

double exp2(int n) {
double i = 1,m = 1,ee = 1;
while(i <  n) {
m *= i;
ee += 1.0/m;
++i;
}
return ee;
}

double exp3(int n) {
double i = 1,m = 1,ee = 1;
do {
m *= i;
ee += 1.0/m;
++i;
}while(i <  n);
return ee;
}


int main() {
int n;
printf("n = ");
scanf("%d",&n);
printf("for: %lf\n",exp1(n));
printf("while(): %lf\n",exp2(n));
printf("do_while(): %lf\n",exp3(n));
return 0;
}
447587096
2015-12-30 · TA获得超过5044个赞
知道大有可为答主
回答量:2504
采纳率:70%
帮助的人:1154万
展开全部
#include "stdio.h"
 main()
{ int n, k;
  double e, t, p;
  e=1.0; n=1;
  do                   //do while
  {
    p=1.0;
   for(k=1;k<=n; k++)
     p=p*k;        
   t=1.0/p;    
   e=e+t;   
   n++;} while(t>=1e-6);
  printf("e=%lf \n", e);
 }
 
 #include<stdio.h>
main()
{
   int i,j;
   long p;
   double e ;
   for(i=1,e=1;;i++)
    {
        for(j=1,p=1;j<=i;j++)
            p=p*j;
        e=e+1.0/p;  
if(1.0/p < 1e-6)
break;
    }
    printf("e=%lf",e); 
    }
    
    #include "stdio.h"
 main()
{ int n, k;
  double e, t=1, p;
  e=1.0; n=1;
  while(t >= 1e-6)                  //while
  {
    p=1.0;
   for(k=1;k<=n; k++)
     p=p*k;        
   t=1.0/p;    
   e=e+t;   
   n++;}
  printf("e=%lf \n", e);
 }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式