VB的题目,求代码
展开全部
Private Sub Command1_Click()
a = Val(Text1) '文本框里的值取出来
b = Val(Text2) '分别存到三个变量里,做方程的系数
c = Val(Text3)
If a <> 0 Then '首先判断第一个系数不为0 的情况
dt = b ^ 2 - 4 * a * c '公式中用到的表达式暂存
r = -b / (2 * a)
If dt > 0 Then '这种情况时用公式求方程的根
s = Sqr(dt) / (2 * a)
q1 = "x1=" & Format(r + s, "#.00")
q2 = "x2=" & Format(r - s, "#.00")
Label1.Caption = "方程的根分别是:" & q1 & " 和 " & q2 '输出方程的两个根
ElseIf dt = 0 Then
Label1.Caption = "x1=x2=" & Format(r, "#.00") '两个相等根的输出
Else
Label1.Caption = "无实根" '没有实根
End If
ElseIf b <> 0 Then '一元一次方程的情况处理
y = -c / b
Label1.Caption = "方程只有一个根" & y
Else
Label1.Caption = "方程无意义" '方程不成立的处理
End If
End Sub
追问
单引号的是解析么
谢谢
展开全部
Private Sub Command1_Click()
Dim a As Double, b As Double, c As Double
a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text)
If a = 0 And b = 0 Then
x1 = "无解": x2 = "无解"
ElseIf a = 0 Then
x1 = -c / b: x2 = "无解"
Else
d = b ^ 2 - 4 * a * c
If d >= 0 Then
x1 = (-b + Sqr(d)) / (2 * a): x2 = (-b - Sqr(d)) / (2 * a)
Else
x1 = CStr(Format(-b / (2 * a), "0.########")) + "+" + CStr(Format(Sqr(-d) / (2 * a), "0.########")) + "i"
x2 = CStr(Format(-b / (2 * a), "0.########")) + "+" + CStr(Format(Sqr(-d) / (2 * a), "0.########")) + "i"
End If
End If
Text4.Text = x1: Text5.Text = x2
End Sub
Private Sub Command2_Click()
End
End Sub
更多追问追答
追答
不必客气!不过sbj518给出的代码缺少复数根的情况,而这是题目要求的。
追问
请问d是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询