Cpp求PI
#include <iostream> #include <cmath> #include <cstdlib> #include <cstdio> using namespace std; double arctan(double x); inline double getItem(double x,int i); int main(int argc, char *argv[]) { bool b1,b2,b3; cout <<"test 1E-15:"<< 1E-15<<endl; cout << "测试逗号表达式:" << (b1=true,b2=false)<<endl; double pi = 16.0 * arctan(1.0/5.0) - 4.0 * arctan(1.0/239.0); cout<< pi<<endl; printf("pi=%.30lf \n",pi); return 0; } double arctan(double x){ double sum = 0,item = 0; for(int i=0; (item = getItem(x,i)),(abs(item) >= 1E-15); ++i){ sum += item; } return sum; } inline double getItem(double x,int i){ return pow(-1,i%2) * pow(x, 2 * i + 1) / (2 * i + 1); }