莱仕国际学校:在MS VC++中,abs ()不能用吗?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 21:23:56
在MS VC++中,abs ()不能用吗?
有个程序如下:
//==================================================
//f0219.cpp
//求Pi方法2
//==================================================
#include <iostream>
#include <cmath>
using namespace std;
//--------------------------------------------------
int main(){
double sum=0, item=1;
for(int denom=1,sign=1;abs(item)>1e-6;denom +=2,sign *=-1){
item = sign/double(denom);
sum +=item;
}
cout<<"Pi = "<<fixed<<sum*4<<endl;
}//=================================================

其中FOR循环中的判断语句,abs (item)>1e-6,并没有起到正确的判断作用。请问是abs()有问题,还是 1e-6有问题?谢谢高手!!!
为什么?什么是FABS()? 需要加头文件吗?
哦谢谢 !!

abs()仅对整型求绝对值

fabs()才是对浮点数求绝对值

要用fabs