早教吧 育儿知识 作业答案 考试题库 百科 知识分享

下面程序中的x1=(-b+Sqr(b^2-4*a*c))/(2*a)这一句错在哪里?PrivateSubCommand1Click()DimaAsSingle,bAsSingle,cAsSingleDimx1AsSingle,x2AsSinglea=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)Ifa=0The

题目详情
下面程序中的 x1 = (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)这一句错在哪里?
Private Sub Command1_Click()
Dim a As Single,b As Single,c As Single
Dim x1 As Single,x2 As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
If a = 0 Then
Text4.Text = "一元二次方程的系数A不能为0"
Text5.Text = "一元二次方程的系数A不能为0"
End If
x1 = (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)
x2 = (-b - Sqr(b ^ 2 - 4 * a * c)) / (2 * a)
Text4.Text = x1
Text5.Text = x2
End Sub
▼优质解答
答案和解析
不是x1这句错了,是因为你没有判断b^2-4*a*c是否大于零,要加一个if语句.而且因为你是顺序结构,所以即使a=0,x1/x2还是会按公式求,而这时的答案是不对的.所以这个程序有很多错误哦.恩,因为是VB的语句好久不碰了,正确的程序你在书上找找好了,这是很经典的程序.