fabs(a)是对取a的绝对值,1e-6表示的是1*10的-6次方,它是浮点数,浮点数的小数只能精确到小数点的后六位,这个语句是判断a是否等于0的。
C语言数学函数:fabs 原型:在TC中原型是extern float fabs(float x);,在VC6.0中原型是double fabs( double x );。用法:#include <math.h> 功能:求浮点数x的绝对值 说明:计算|x|, 当x不为负时返回x,否则返回-x
if ( fabs(a) < 1e-06) -- {a 的绝对值小于10的负6次方。即 a 的范围是 -0.000001 到 +0.000001 之间 为真。} else { 则是 [a <= -0.000001] 或 [a >= 0.000001] }
if(fabs(disc)<1e-6) printf("The question has two equal roots: %8.4f",-b/(2*a)); else { x1=(-b+sqrt(disc))/(2*a); x2=(-b+sqrt(disc))/(2*a); printf("The question has distinct real roots: %8.4f,%8.4f,x1,x2"); } }} cuiqi7265 采纳率:53% 等级:12 已帮助:6805...
你的这个是二分法求方程的?如果是的话,那么就是精度不够,逼近0的时候肯定会溢出
6. 7. 8. 9. 10. 11. 12. 运行结果为:不及格 对于上面的程序,我们希望的结果为:及格,但是运行结果和我们希望的却大不一样,是因为num被赋值为80,在进行if语句(0<=num<60)判断时,num会分别和0与80比较,80>0,所以已经满足if语句条件,执行if里的语句。
void main(){ float a,b,c;double m;double x1,x2;printf("please insert a,b,c:");scanf("%f,%f,%f",&a,&b,&c);m=b*b-4*a*c;if (m<0)printf("the number is wrong,please insert again:");else x1=(-b+sqrt(m))/2*a;x2=(-b-sqrt(m))/2*a;printf("the answer...
if(fabs(a)<1e-6) C. if(abs(a)<1e-6) D. if(a=0) 点击查看答案 你可能感兴趣的试题 多项选择题 邻摊正在市场卖鱼,突闻其父病危,急忙离去,小明代为卖出鲜鱼。下列哪些选项是正确的?( ) A.摊主可要求小明报告卖鱼事项 B.摊主不能要求小明报告卖鱼事项 ...
这段代码说是将data2与0比较…为什么呢,fabs不是取绝对值的么?后面的1e-7是什么意思,求解 福尔马林已亡故 毛蛋 1 来人啊… 受伤竹子 低能力者 5 意思是如果:data2的绝对值小于1*10的负七次方即0.0000001 福尔马林已亡故 毛蛋 1 哦,因为精度原因,如果小于它就认为data2是0是吗? 受伤竹子 低...
如果两个数a b都是常数赋值,这样比较,应该不会有问题,如:double a=5.3,b=5.3;if ( a == b ){ printf("a=b\n");} 这时会输出a=b 如果a或b是经过运算后得到的值,这时就不一定是一个精确的你想要的值了,如:double b=2.6+2.7,a=5.3;if ( a == b ){ printf("a=b...