谁精通 VB 编程的 帮忙变革 一元二次方程!
追问:本人不太会编程!、答案详细点!!
追问:本人不太会编程!、答案详细点!!
答案:Dim a, b, c, d, x1, x2 As Double
a = InputBox("请输入a", 0)
b = InputBox("请输入b", 0)
c = InputBox("请输入c", 0)If a = 0 Then
If b = 0 Then
MsgBox "此方程式有误"
Else
x1 = -c / b
MsgBox "x= " + Format(x1)
End If
Else
If b = 0 Then
If -c / a < 0 Then
MsgBox "此方程无实数根"
Else
x1 = Sqr(-c / a)
x2 = -Sqr(-c / a)
MsgBox "x1 " + Format(x1) + Chr(13) + "x2= " + Format(x2)
End If
Else
d = b ^ 2 - 4 * a * c
If d < 0 Then
MsgBox "此方程无实数根"
Else
If c <> 0 Then
x1 = (-b + Sqr(d)) / (2 * a * c)
x2 = (-b + Sqr(d)) / (2 * a * c)
MsgBox "x1 " + Format(x1) + Chr(13) + "x2= " + Format(x2)
Else
x1 = 0
x2 = -b / a
MsgBox "x1 " + Format(x1) + Chr(13) + "x2= " + Format(x2)
End If
End If
End If
End If下面的程序利用公式法解方程ax^2 + bx + c = 0,需要输入a、b、c的值才能求解,代码如下:
Option Explicit
Private Sub Form_Activate()
Dim a, b, c, delta As Double
a = InputBox("请输入二次项系数:", "参数设置")
If a = 0 Then MsgBox "二次项系数不能为0!"
b = InputBox("请输入一次项系数:", "参数设置")
c = InputBox("请输入常数:", "参数设置")
delta = b ^ -4 * a * c
If delta < 0 Then
Print "原方程无实数根!"
ElseIf delta = 0 Then
Print "x1 = x2 =" & Str((-b) / (2 * a))
Else
Print "x1 =" & Str((-b + delta ^ (1 / 2)) / (2 * a))
Print "x2 =" & Str((-b - delta ^ (1 / 2)) / (2 * a))
End If
End Sub用求根公式就好了啊如果你想让程序解方程
就要研究过程的抽象
我以前写过一个,要的花给你发过去
求根公式啊
纯粹的算法编辑额
我把 x=[-b±√(b^2-4ac)]/(2a)翻译成VB语句:
x1=(-b+Sqr(b^2-4ac))/(2a)
x2=(-b-Sqr(b^2-4ac))/(2a)
x=[-b±√(b^2-4ac)]/(2a)