编程!C++,计算π的近似值π=2×(2×2/1×3)×(4×4/3×5)×(6×6/5×7)×……[2n×2n/(2n-1)×(2n 1)]

还要求分别显示n=10、100、1000时的结果,大神们尽量用简单C++语言写好不好,谢谢!

#include<iostream>
using namespace std;
void ans(int n)
{
    cout<<n<<":";
    double pi = 1.0;
    for(int i = 1; i <= n; i++)
    {
        double x = (2.0 * i) / (2.0 * i - 1);
        double y = (2.0 * i) / (2.0 * i + 1);
        double z = x * y;
        pi *= z;
    }
    cout<<2.0 * pi<<endl;
}
int main()
{
    ans(10);
    ans(100);
    ans(1000);
    return 0;
}

追问

亲,为什么要用using namespace啊?如果我用三个while语句分别令n=10、100、1000是不是就可以不用namespace啊~(初学菜鸟别见笑)

追答

C++输入(cin)输出(cout)包含在using namespace里面,没什么可讲的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-20
#include <iostream.h>

double fun(double n)
{
return 2*n*2*n/((2*n-1) * (2*n+1));
}

int main(void)
{
double sum= 2;
for (int n= 1; n<= 1000; n++)
{
sum*= fun(n);
if(n==10)
cout<<"n= 10时,\tπ= "<<sum<<endl;
if(n==100)
cout<<"n= 100时,\tπ= "<<sum<<endl;
if(n==1000)
cout<<"n= 1000时,\tπ= "<<sum<<endl;
}

return 0;
}

本回答被提问者和网友采纳
第2个回答  2013-12-20
c可以吗?
相似回答