编程论坛
注册
登录
编程论坛
→
C++ Builder
C++中sqrt(fabs(delta))/(2*a)是什么意思啊
pei5566
发布于 2010-10-09 00:32, 5561 次点击
C++中sqrt(fabs(delta))/(2*a)是什么意思啊
6 回复
#2
保保
2010-10-09 00:59
对(fabs(delta))开方后以除(2*a)
#3
pei5566
2010-10-09 10:51
回复 2楼 保保
sqrt(fabs(delta))/(2*a)sqrt是开方的意思,delta是数据,那fabs是什么意思啊
求一元二次方程ax2+bx+c=0的根,其中系数a, b, c为实数,由键盘输入。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{ double a, b, c, delta, p, q;
cout << "Please intput a, b, c = ";
cin >> a >> b >> c;
delta = b*b-4*a*c;
p = -b/(2*a);
q = sqrt(fabs(delta))/(2*a);
if (delta >= 0)
cout << "x1 = "<<p+q<< endl<< "x2 = " << p-q << endl;
else
{ cout << "x1 = " << p << " + j" << q;
cout<< endl << "x2 = " << p << " - j" << q <<endl;
}
return 0;
}
在上面的程序中,if判断的两种情况有什么区别吗??不都是一个值是p+q,一个值是p-q吗
#4
myth_feng
2010-10-12 17:43
fabs 是取绝对值的意思。。。
不懂根据 delta判断有没有实数根吗?
>=是实数,否则是复数 ok?
#5
pei5566
2010-10-14 00:16
回复 4楼 myth_feng
我初学,对这个还不太熟悉
#6
聆听
2010-10-21 20:22
此为求根公式:x=(-b+ -sprt(dalta))/(2*a);其中dalta要大于零。
#7
yuutian
2011-06-14 22:00
sqrt 表示开二次根号
fabs 表示对浮点数求绝对值
delta 表示数据
1