#include #include using namespace std; double arctan(double x);int main() {double a=1/5,b=1/239,pi;pi=16*arctan(a)-4*arctan(b);cout<<"pi="<<pi<<endl; return 0; } double arctan(double x) {int n=1,m=0; double sum=0,k;do{sum=sum+pow(-1,m)*pow(x,n)/n;//(此行错误) n=n+2; m++; k=pow(-1,m)*pow(x,n)/n;}while(fabs(k)<=10.15);return (sum); } 我调试过了,那一行没问题,不过是一个死循环。
|