程序改错:程序功能:求满足以下条件的(a,b,c)的组数:

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:57:42
程序功能:求满足以下条件的(a,b,c)的组数:
(1) 1/(a^2)+1/(b^2)=1/(c^2) ;(2)a>b>c ;(3)a+b+c<100。
程序有错误,改正错误,使程序能输出正确的结果。

源程序文件位于:C:\StdHNCRE\0362\program\1.BAS

Private Sub Command1_Click()
s = 0
For c = 1 To 100
For b = 1 To 100
For a = 1 To 100
If a+b+c<100 Or 1/(a^2)+1/(b^2) = 1/(c^2) Then s = s + 1
Next a
Next b
Next c
Print s
End Sub

Private Sub Command1_Click()
s = 0
For c = 1 To 50
For b = c+1 To 99
For a = b+1 To 100
If a+b+c<100 and 1/(a^2)+1/(b^2) = 1/(c^2) Then s = s + 1
Next a
Next b
Next c
Print s
End Sub

我把它当VB改了,楼上的麻烦点,ABC这些数在这里不用定义就行,用
?S
可以直接在窗体上输出结果,也没必要麻烦

Private Sub Command1_Click()
Dim s As Integer
Dim a As Integer, b As Integer, c As Integer

For c = 1 To 100
For b = 1 To 100
For a = 1 To 100
If (a + b + c < 100) And (1 / (a ^ 2) + 1 / (b ^ 2) = 1 / (c ^ 2)) And (a > b And b > c) Then
s = s + 1
End If
Next a
Next b
Next c

MsgBox s
End Sub

呵呵,还要多学习才对呀,OR和AND都是最基本的逻辑连接符,这是编程最基本的东西,一定要努力.