态的组词:求一元二次方程阿ax2(方)+bx+c=0的根(包括实根和复根)

来源:百度文库 编辑:高校问答 时间:2024/04/19 15:06:38
急........

以下是核心算法:其中Text1,Text2,Text3是三个文本输入框,接受a,b,c三个系数。x1,x2为根
Dim a As Single, b As Single, c As Single, d As Single, ds As Single
Dim x1 As String, x2 As String

a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = b * b - 4 * a * c
ds = Sqr(Abs(d))
If d > 0 Then
x1 = Str((-b + ds) / 2 * a)
x2 = Str((-b - ds) / 2 * a)
ElseIf d = 0 Then
x1 = Str(-b / 2 * a): x2 = x1
Else
b = Round(-b / (2 * a), 7): c = Round(ds / (2 * a), 7)
x1 = Str(b) + "+" + Str(c) + "i"
x2 = Str(b) + "-" + Str(c) + "i"
End If

上面的程序有个错误..
在x1 = Str((-b + ds) / 2 * a) '中/ 与*在同一级的运算应该要加括号!!!!111
x2 = Str((-b - ds) / 2 * a) '同上