中国女排北京奥运会:为什么只有五位小数?

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 10:52:31
long double x=1.0,xf=1.0,a,s=1.0;
cout<<"Please input a."<<endl;
cin>>a;
do
{x=(x+a/x)/2;
s=x-xf;
if(s<0)
s=-s;
xf=x;
}while(s>0.000000001);
cout<<"x="<<x<<endl;
上面是我写的一个迭代程序,求x=a的平方根,但是如果输入a=2,结果只有1.14421的,为什么没有我预想的精度呢?

因为默认是6位精度,你可以用cout的成员函数precision(int)或者setprecision()流操作符来修改。后者要加iomanip头文件