用VB编写一个程序,三个数比较大小的问题
用键盘输入三个数,按照从大到小的顺序显示在屏幕上,用IF语句如何实现,知道着请告知代码,谢谢!另外,我看到一个程序段,在运行时出现错误,不能按照从大到小的顺序显示,程序如...
用键盘输入三个数,按照从大到小的顺序显示在屏幕上,用IF语句如何实现,知道着请告知代码,谢谢!
另外,我看到一个程序段,在运行时出现错误,不能按照从大到小的顺序显示,程序如下:
if x<y then
t=x:x=y:y=t
end if
if y<z then
t=y:y=z:z=t
if x<y then
t=x:x=y:y=t
end if
end if
请大家指教,并告诉我正确的程序!
xuep1985,要求用IF语句,不用循环的,非常感谢你的回答! 展开
另外,我看到一个程序段,在运行时出现错误,不能按照从大到小的顺序显示,程序如下:
if x<y then
t=x:x=y:y=t
end if
if y<z then
t=y:y=z:z=t
if x<y then
t=x:x=y:y=t
end if
end if
请大家指教,并告诉我正确的程序!
xuep1985,要求用IF语句,不用循环的,非常感谢你的回答! 展开
4个回答
展开全部
你们的代码都属于新手看不懂的 呵呵 我给你写了一个比较容易懂的! 先和你说一下原理
首先我弄了4个输入框控件(text) 一个按钮 输入框1 在代码中为 A , 输入框2 为B,3为C, 4为D ! 前三个 是比大小的输入数 输入框4也就是D 为显示最大数的! 原理为:
a和B先对比 如果A大于B 然后 D等于A (输入框现实的是最大A!) 否则显示最大B
再用C和D对比(由于D已经等于了A或B的值!所以就拿D和C对比了)如果C大 然后D等于C
如果C小 不做反应!也就是没有否则!下面是代码:
Private Sub Command1_Click()
Dim a, b, c, d As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = Val(Text4.Text)
If a > b Then
Text4.Text = a
Else
Text4.Text = b
End If
If c > d Then
Text4.Text = c
End If
End Sub
废话有点多,其实我可以不说原理的 只是怕新手看不懂的 呵呵 !!
首先我弄了4个输入框控件(text) 一个按钮 输入框1 在代码中为 A , 输入框2 为B,3为C, 4为D ! 前三个 是比大小的输入数 输入框4也就是D 为显示最大数的! 原理为:
a和B先对比 如果A大于B 然后 D等于A (输入框现实的是最大A!) 否则显示最大B
再用C和D对比(由于D已经等于了A或B的值!所以就拿D和C对比了)如果C大 然后D等于C
如果C小 不做反应!也就是没有否则!下面是代码:
Private Sub Command1_Click()
Dim a, b, c, d As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = Val(Text4.Text)
If a > b Then
Text4.Text = a
Else
Text4.Text = b
End If
If c > d Then
Text4.Text = c
End If
End Sub
废话有点多,其实我可以不说原理的 只是怕新手看不懂的 呵呵 !!
展开全部
相信楼主也会一些基本的操作了,好,我简要地说一下步骤,同时给出代码:
1、新建一个工程,窗体form1上新建三个文本框,一个按钮
2、在代码窗口输入如下代码(直接复制粘贴即可):
Private Sub Command1_Click()
Dim Datas(3) As Double
Dim temp
On Error Resume Next '容错语句
'将三个文本框中的数据依次赋给数组中的三个元素
Datas(1) = Text1.Text
Datas(2) = Text2.Text
Datas(3) = Text3.Text
'下面对数组中的元素进行排序
For i = 1 To 2
'遍历数组,对不符合大小关系的元素进行倒置
For j = i + 1 To 3
If Datas(i) < Datas(j) Then
temp = Datas(i)
Datas(i) = Datas(j)
Datas(j) = temp
End If
Next
Next
'下面输出排序结果
Text1.Text = Datas(1)
Text2.Text = Datas(2)
Text3.Text = Datas(3)
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Command1.Caption = "排序"
End Sub
好了,你可以在文本框上输入任何数据,然后点击“排序”按钮就成功了。 此外,将本例中的循环语句进行二次扩展以后就可以处理三个元素以上(甚至多维数组、矩阵)的复杂排序问题。
1、新建一个工程,窗体form1上新建三个文本框,一个按钮
2、在代码窗口输入如下代码(直接复制粘贴即可):
Private Sub Command1_Click()
Dim Datas(3) As Double
Dim temp
On Error Resume Next '容错语句
'将三个文本框中的数据依次赋给数组中的三个元素
Datas(1) = Text1.Text
Datas(2) = Text2.Text
Datas(3) = Text3.Text
'下面对数组中的元素进行排序
For i = 1 To 2
'遍历数组,对不符合大小关系的元素进行倒置
For j = i + 1 To 3
If Datas(i) < Datas(j) Then
temp = Datas(i)
Datas(i) = Datas(j)
Datas(j) = temp
End If
Next
Next
'下面输出排序结果
Text1.Text = Datas(1)
Text2.Text = Datas(2)
Text3.Text = Datas(3)
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Command1.Caption = "排序"
End Sub
好了,你可以在文本框上输入任何数据,然后点击“排序”按钮就成功了。 此外,将本例中的循环语句进行二次扩展以后就可以处理三个元素以上(甚至多维数组、矩阵)的复杂排序问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Command1_Click()
Dim s(3) As Long
Dim p(3) As Long
Dim lj As Long
s(1) = InputBox("第一个数", "请输入")
s(2) = InputBox("第二个数", "请输入")
s(3) = InputBox("第三个数", "请输入")
lj = 1
If s(1) > s(2) Then lj = lj + 1
If s(1) > s(3) Then lj = lj + 1
If p(lj) <> 0 Then lj = lj + 1
p(lj) = s(1): lj = 1
If s(2) > s(1) Then lj = lj + 1
If s(2) > s(3) Then lj = lj + 1
If p(lj) <> 0 Then lj = lj + 1
p(lj) = s(2): lj = 1
If s(3) > s(1) Then lj = lj + 1
If s(3) > s(2) Then lj = lj + 1
If p(lj) <> 0 Then lj = lj + 1
p(lj) = s(3): lj = 1
Print p(1), p(2), p(3)
End Sub
Dim s(3) As Long
Dim p(3) As Long
Dim lj As Long
s(1) = InputBox("第一个数", "请输入")
s(2) = InputBox("第二个数", "请输入")
s(3) = InputBox("第三个数", "请输入")
lj = 1
If s(1) > s(2) Then lj = lj + 1
If s(1) > s(3) Then lj = lj + 1
If p(lj) <> 0 Then lj = lj + 1
p(lj) = s(1): lj = 1
If s(2) > s(1) Then lj = lj + 1
If s(2) > s(3) Then lj = lj + 1
If p(lj) <> 0 Then lj = lj + 1
p(lj) = s(2): lj = 1
If s(3) > s(1) Then lj = lj + 1
If s(3) > s(2) Then lj = lj + 1
If p(lj) <> 0 Then lj = lj + 1
p(lj) = s(3): lj = 1
Print p(1), p(2), p(3)
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x,y,z
if x>y then
t=x
x=y
y=t
end if
if x>z then
t=x
x=z
z=t
end if
if y>z then
t=y
y=z
z=t
end if
pring x,y,z
if x>y then
t=x
x=y
y=t
end if
if x>z then
t=x
x=z
z=t
end if
if y>z then
t=y
y=z
z=t
end if
pring x,y,z
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询