回 帖 发 新 帖 刷新版面

主题:各位大虾帮忙解答个问题

Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer
Dim p As Single, s As Single
a = Val(Text1)
b = Val(Text2)
c = Val(Text3)
If a + b > c And b + c > a And c + a > b Then


    p = (a + b + c) / 3


    s = Sqr(p * (p - a) * (p - b) * (p - c))
    Text4 = s
Else
    Text4 = "error"
End If
End Sub
我在复习时做一个求面积的程序 发现 p = (a + b + c) / 2这个语句被我打成3了 运行时发现如果a b c三个数字分别为4 4 5时出现错误 其他类似5 5 6这样的同样
各位大侠这是怎么回事呢 小弟菜鸟一个承蒙照顾

回复列表 (共1个回复)

沙发

当a=4,b=4,c=5时,p=(a+b+c)/3=4....<c=5,所以(p * (p - a) * (p - b) * (p - c))<0,对于小于0的

数开根号(Sqr),当然就错了。。。

5,5,6的情况也一样。。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册