回 帖 发 新 帖 刷新版面

主题:[讨论]求圆周率pi

求圆周率pi
请问我的程序哪里写错了。
#include<iostream.h>
#include<math.h>
int main()
{
    double sign=1,pi=1,item=0,s=1;
    int n=2;
    while(fabs(1/(2*n-1))>0.0000001)
    {
        sign=-sign;
        s=1/(2*n-1);
        item=sign*s;
        pi=pi+item;
    }
    cout<<"pi="<<pi*4<<endl;
    return 0;
}

回复列表 (共2个回复)

沙发

[color=0000FF]#include<iostream>
#include<cmath>

using namespace std;

int main()
{
    double sign=1.0,pi=1.0,item=0.0,s=1.0,k = 1.0;
    
    while(fabs(s)>1e-8)
    {
        sign=-sign;
        s=1/ (k+=2.0);
        item=sign*s;
        pi=pi+item;
    }
    
    cout<<"pi="<<pi*4<<endl;
    return 0;
}
--------------------------------------
#include<iostream.h>
#include<math.h>
int main()
{
    double sign=1,pi=1,item=0,s=1;
    int n=2;
    while(fabs(1/(2*n-1))>0.0000001)
    {
        sign=-sign;
        s=1/(2*n-1[color=FF0000]);//这里(2*n-1)为整数,故s=1/(2*n-1) = 0且恒不变,故pi = 4恒不变。 [/color]        
        item=sign*s;
        pi=pi+item;
    }
    cout<<"pi="<<pi*4<<endl;//用cout必须在前声明using namespace std;或using std::cout;
    return 0;
}

板凳

谢了,但是因为我头文件包含了iostream.h   故此题不能加using namespace std;

我来回复

您尚未登录,请登录后再回复。点此登录或注册