c++高手帮帮忙啊

来源:百度知道 编辑:UC知道 时间:2024/06/28 02:10:46
#include "stdafx.h"
#include "iostream.h"
#include "math.h"
#define j 10e-9
int main()
{

double k=0.1;
for(double a=0.1; a<10; a+=k)
for(double b=0.1;b<10;b+=k)
for(double length=0.1;length<10;length+=k)
if(abs((2*a+b)-length)<j)

cout << a<<" "<<b<<" "<<length<<" "<<endl;

}
我想是abs((2*a+b)-length的差值应该小于10的负9次方啊,可结果不是这样的么

我简单说一下吧,abs是指整型量,fabs则是指浮点型,出现函数上的可能错误,最好看看函数库等资料,确定参数类型和返回值类型,呵呵~~

我晕

自己写一个abs的宏不就行了吗

(上面几位的说的都对)

#define abs(x) ( (x) > 0 ? (x) : -(x) )

抱歉刚才忘了提醒你一句了……

dotnetjava 说得对,用fabs就差不多了~~