标题:近似求e的问题
只看楼主
徐宗保
Rank: 1
来 自:江苏盐城
等 级:新手上路
帖 子:45
专家分:7
注 册:2012-3-4
结帖率:60%
已结贴  问题点数:10 回复次数:8 
近似求e的问题
#include<iostream>
using namespace std;
double fact(int n)
{
    double i,t=1;
    if(n==0)
        return 1;
    else
    {
        for(i=1;i<=n;i++)
             t=t*i;
        return t;
    }
}
void main()
{
    double e,temp;
    int i;
    for(i=0;i<50;i++)
    {
        temp=1.0/fact(i);
        e=e+temp;
    }
    cout<<"e="<<e<<endl;
}
代码哪里还有问题?结果一直不对
搜索更多相关主题的帖子: double return 
2013-09-24 22:30
徐宗保
Rank: 1
来 自:江苏盐城
等 级:新手上路
帖 子:45
专家分:7
注 册:2012-3-4
得分:0 
#include<iostream>
using namespace std;
int main()
{
    double t,e=1,n=1;
    do
    {
        t*=1.0/n;
        e+=t;
        n++
    }while(fabs(t)>=1e-4);
    cout<<"e="<<e<<endl;
    return 0;
}
这个也是,先谢谢了
2013-09-24 22:44
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:10 
代码没有语法错误,因為不知道你用什麼公式求e所以沒法幫你指出邏輯錯誤。

♂ 死后定当长眠,生前何须久睡。♀
2013-09-24 23:12
徐宗保
Rank: 1
来 自:江苏盐城
等 级:新手上路
帖 子:45
专家分:7
注 册:2012-3-4
得分:0 
回复 3楼 303770957
e=1+1/1!+1/2!+1/3!+......
2013-09-24 23:17
徐宗保
Rank: 1
来 自:江苏盐城
等 级:新手上路
帖 子:45
专家分:7
注 册:2012-3-4
得分:0 
回复 3楼 303770957
我知道了,主函数中e没有赋初值,在vc6.0中给我默认了一个很大的负数
2013-09-24 23:18
徐宗保
Rank: 1
来 自:江苏盐城
等 级:新手上路
帖 子:45
专家分:7
注 册:2012-3-4
得分:0 
回复 3楼 303770957
第二个用的是while语句,条件是最后一项不小于1e-4,还没找出错误原因,麻烦了
2013-09-24 23:21
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:0 
第二個是不是t也沒給初值呢?

♂ 死后定当长眠,生前何须久睡。♀
2013-09-24 23:42
林凡
Rank: 2
等 级:论坛游民
帖 子:31
专家分:61
注 册:2013-7-29
得分:0 
学习一下!!1
2013-09-25 22:08
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
得分:0 
第1个阶乘值超范围了,第二个方法可,但循环条件你要改下,多理解题找出数学式

www.qunxingw.wang
2013-09-25 22:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-421022-1-1.html




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

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