首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求π,该怎么处理

2012-09-10 
求π#includeiostream.h#includemath.hint main(){double sum1,item1double tint demon1,sign1w

求π
#include<iostream.h>
#include<math.h>
int main()
{
double sum=1,item=1;
double t;
int demon=1,sign=1;
while(abs(item)>1e-6)
{
demon+=2;
sign*=-1;
item=sign*1.0/demon;
sum+=item;
}
t=sum*4;
cout<<"pi= "<<t<<endl;
return 0;
}
这是一个计算π的程序 是在VC6.0中编译的 但是算出来之后pi=2.166666 可以确定的是算法是没有错 但是在是不知道错在那里

[解决办法]
远离VC6。VS2005运行结果pi= 3.14159
[解决办法]
其中abs是求int的绝对值,应该使用fabs
[解决办法]

C/C++ code
#include<iostream.h>#include<math.h>int main(){    double sum=1,item=1;    double t;    double demon=1,sign=1;    while((item > 1e-6) || (item < -1e-6))    {        demon+=2;        sign*=-1;        item= sign * 1.0 / demon;        sum += item;    }    t=sum*4;    cout<<"pi= "<<t<<endl;    return 0;}
[解决办法]
C/C++ code
#include<iostream.h>#include<math.h>int main(){    double sum=1,item=1;    double t;    double demon=1,sign=1;    while((item > 1e-6) || (item < -1e-6))    {        demon+=2;        sign*=-1;        item= sign * 1.0 / demon;        sum += item;    }    t=sum*4;    cout<<"pi= "<<t<<endl;    return 0;}
[解决办法]
GCC下运行的结果是pi= 3.14159

C/C++ code
#include<iostream>#include<cmath>using namespace std;int main(){double sum=1,item=1;double t;int demon=1,sign=1;while(abs(item)>1e-6){demon+=2;sign*=-1;item=sign*1.0/demon;sum+=item;}t=sum*4;cout<<"pi= "<<t<<endl;return 0;}
[解决办法]
C/C++ code
//#include<iostream.h>//#include<math.h>//推荐用c++的头文件,如果用C++的编译器#include <iostream>#include <cmath>using namespace std;int main(){    double sum=1,item=1;    double t;        //int demon=1,sign=1;    double demon=1,sign=1;    //while(abs(item)>1e-6)    while(fabs(item) > 1e-6)    {        demon+=2;        sign*=-1;        item= sign / demon;        sum+=item;    }    t=sum*4;    cout<<"pi= "<< t << endl;    return 0;} 

热点排行