标题:tem初赋值不同
只看楼主
无知的幸福
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2018-8-15
结帖率:100%
已结贴  问题点数:10 回复次数:1 
tem初赋值不同
tem初赋值为0时最后输出为什么是0?
而tem初赋值为1、2....什么的最终结果都一样呢?

//格雷戈里公式求pi:
//绝对值函数:fabs();  
#include<stdio.h>
#include<math.h>
int main(void)
{
    int i,denominator;    //a为分母。
    double pi,tem;    //tem指的是每一项
    denominator=1;
    tem=1.0;
    pi=0;
    i=1;
    while(fabs(tem)>=0.0001)
    {
        tem=i*1.0/denominator;
        pi=pi+tem;
        i=-i;
        denominator=denominator+2;   
    }
    pi=pi*4;
    printf("pi=%lf\n",pi);
    return 0;
}
搜索更多相关主题的帖子: 赋值 不同 include int main 
2018-08-21 23:05
zhangchm2018
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:32
专家分:129
注 册:2018-8-18
得分:10 

当 tem 初赋值为 0,while(fabs(tem)>=0.0001) 循环都进不去,逐步调试一下就知道的。

这是高数里的数列收敛问题,无穷多项时,如果收敛,结果总是收敛它的极限。


[此贴子已经被作者于2018-8-22 00:16编辑过]

2018-08-22 00:13



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




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

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