| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 409 人关注过本帖
标题:谢谢朋友看哪里错了!
只看楼主 加入收藏
vvvevvv
Rank: 2
来 自:黑龙江
等 级:论坛游民
帖 子:129
专家分:92
注 册:2010-9-9
结帖率:96%
收藏
已结贴  问题点数:10 回复次数:4 
谢谢朋友看哪里错了!
#include<stdio.h>//我需要的是求的与 e=1+1/1!+1/2!+...+1/n!+...相近的数
long int jc(int x);
#define h 1E-5// 误差
void main()
{

double m1,m2=1;
int i;
for(i=1;(1/jc(i))>=h;i++)
{
       m1=m2+1/jc(i);
       m2=m1;
}
printf("e=1+1/1!+1/2!+...+1/n!+...=%lf\n",m1);
}


long int jc(int x)//阶乘的算法,而且  我这个阶乘最多只能算到 16!
{
    int i,n=1;
    for(i=1;i<=x;i++)
    n=n*i;
    return(n);
}
搜索更多相关主题的帖子: 朋友 
2010-11-03 21:36
st_win
Rank: 2
等 级:论坛游民
帖 子:48
专家分:35
注 册:2010-9-19
收藏
得分:1 
long i,n=1;
2010-11-03 21:46
gds545898817
Rank: 2
等 级:论坛游民
帖 子:6
专家分:11
注 册:2010-10-30
收藏
得分:4 
#include<stdio.h>
long int jc(int x);
#define h 1E-5
void main()
{

double m2=1;
int i;
for(i=1;(1.0/jc(i))>=h;i++)
    m2+=1.0/jc(i);
printf("e=1+1/1!+1/2!+...+1/n!+...=%lf\n",m2);
}


long int jc(int x)
{
    int i,n=1;
    for(i=1;i<=x;i++)
    n=n*i;
    return(n);
}
你看看这个对不对!
2010-11-03 22:14
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
收藏
得分:1 
这个是对的,不知道为什么。
2010-11-04 16:10
落拓
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:58
专家分:173
注 册:2010-9-29
收藏
得分:4 
当i=2时,函数jc(i) 返回2。而1/2在整形时,其值为0.   0当然小于1E-5。所以退出循环。故其值为2.000000
其可改为:
#include<stdio.h>//我需要的是求的与 e=1+1/1!+1/2!+...+1/n!+...相近的数
long int jc(int x);
#define h 1E-5// 误差
void main()
{
double m1,m2=1,a;
int i=1;
 a=jc(i);
for(i=1;(1/a)>=h;)
{      
       m1=m2+1/a;
       m2=m1;
       i++;
       a=jc(i);
}
printf("e=1+1/1!+1/2!+...+1/n!+...=%lf\n",m1);
}

long int jc(int x)//阶乘的算法,而且  我这个阶乘最多只能算到 16!
{
    int i,n=1;
    for(i=1;i<=x;i++)
    n=n*i;
    return(n);
}
2010-11-04 16:36
快速回复:谢谢朋友看哪里错了!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016548 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved