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

vb编程求救在一个直角三角形中,三条边a、b、c的长度为整数,且一条直角边a的长度已确定,斜边c的长度不能超过某数I,求出满足条件的所有直角三角形.(例如:一条直角边的长度为15,斜边的

题目详情
vb 编程求救
在一个直角三角形中,三条边a、b、c的长度为整数,且一条直角边a的长度已确定,斜边c的长度不能超过某数I,求出满足条件的所有直角三角形.(例如:一条直角边的长度为15,斜边的最大长度为30,则三条边的边长可能是15、8、17,或者是15、20、25.)
本人程序:
Dim a,b,c As Integer
a = Val(InputBox("请输入直角三角形的一个直角边","请输入数值"))
TextBox1.Text = "用户输入的第一条直角边为" + CStr(a)
For c = a To 2 * a
b = Int(Math.Sqrt(c * c - a * a))
If c * c = a * a + b * b And b > 0 Then
TextBox1.Text = TextBox1.Text + Chr(10) + " 第二直角边 " & b & "斜边" & c
Else :TextBox1.Text = "没有符合条件的整数"
End If
Next c
不管输入什么数都只输出没有符合条件的整数,应该怎么修改?
▼优质解答
答案和解析
把Else :TextBox1.Text = "没有符合条件的整数" 这一行删掉,这个判断不能放在那里做(另外那个chr(10)似乎应该换成vbcrlf,偶这没vb测试不了),如果需要加这一行,可以设定一个标志,比如
Dim a,b,c,MAX,count As Integer
a = Val(InputBox("请输入直角三角形的一个直角边","请输入数值"))
TextBox1.Text = "用户输入的第一条直角边为" + CStr(a) +Chr(10)
MAX = Val(InputBox("请输入直角三角形的斜边长度限制","请输入数值"))
TextBox1.Text = TextBox1.Text +"用户输入的斜边范围为小于" + CStr(MAX) +Chr(10)
count=0
For c = a To 2 * a
b = Int(Math.Sqrt(c * c - a * a))
If c * c = a * a + b * b And b > 0 and c