主题:vc小问题 就大神指点下
就是求pi=3.14159
程序我写的如下:
#include<iostream>
using namespace std;
double arctan(double x);
void main()
{
double a;
a=16.0*arctan(1/5.0)-4.0*arctan(1/239.0);
cout<<"pi="<<a<<endl;
}
double arctan(double x)
{
int i=1;
double j=0,k,l,m;
k=x*x;
l=x;
while(l/i>1e-15)
{
m=l/i;
j= (i%4==1)? j+m:j-m;
l*=k;
i+=2;
}
return j;
}
程序也正常输出了pi=3.14159 后来我想让它输出的小数位数多点 想着把double换成long就行了 可是把该换的都换了 结果却不对了 连小数点后一位都没有了直接是3 这是怎么个问题哦? 求大神们解释解释 和解决解决
程序我写的如下:
#include<iostream>
using namespace std;
double arctan(double x);
void main()
{
double a;
a=16.0*arctan(1/5.0)-4.0*arctan(1/239.0);
cout<<"pi="<<a<<endl;
}
double arctan(double x)
{
int i=1;
double j=0,k,l,m;
k=x*x;
l=x;
while(l/i>1e-15)
{
m=l/i;
j= (i%4==1)? j+m:j-m;
l*=k;
i+=2;
}
return j;
}
程序也正常输出了pi=3.14159 后来我想让它输出的小数位数多点 想着把double换成long就行了 可是把该换的都换了 结果却不对了 连小数点后一位都没有了直接是3 这是怎么个问题哦? 求大神们解释解释 和解决解决