1、vb利用输入框输入一个三位的整数,将其从小到大排序后在自定义对话...
发布网友
发布时间:2024-10-18 09:03
我来回答
共6个回答
热心网友
时间:2024-10-19 16:33
Private Sub Form_Click()
Dim a$, amn%, amx%, a1%, a2%, a3%, rmn%, rmx%
a = 1
Do While Len(a) <> 3 Or Not IsNumeric(a)
a = InputBox("输入一个三位数")
a = Trim(a)
Loop
a1 = Int(Val(a) / 100)
a2 = Int(Val(a) / 10) - 10 * a1
a3 = Val(a) - 100 * a1 - 10 * a2
amx = (a1 + a2) / 2 - Abs(a1 - a2) / 2
amn = (a2 + a3) / 2 - Abs(a2 - a3) / 2
rmn = (amx + amn) / 2 - Abs(amx - amn) / 2
Print a; ":"; rmn,
amx = (a1 + a2) / 2 + Abs(a1 - a2) / 2
amn = (a2 + a3) / 2 + Abs(a2 - a3) / 2
rmx = (amx + amn) / 2 + Abs(amx - amn) / 2
Print a1 + a2 + a3 - rmn - rmx, rmx
End Sub
热心网友
时间:2024-10-19 16:35
Sub run()
Dim Arr(1 To 3) As String
Dim OutPut As String
2000: a = InputBox("请输入3位整数")
If Len(a) <> 3 Then
MsgBox "输入位数错误!"
GoTo 2000
End If
Arr(1) = Mid(a, 1, 1)
For i = 1 To 3
Arr(i) = Mid(a, i, 1)
If (Asc(Arr(i)) < Asc("0") Or Asc(Arr(i)) > Asc("9")) Then '判断是否为数字
MsgBox "输入的值不是数字,请重新输入!"
GoTo 2000
Else
If i > 1 Then
For j = 1 To i - 1 '数组排序
If Arr(i) < Arr(j) Then
b = Arr(j)
Arr(j) = Arr(i)
Arr(i) = b
End If
Next
End If
End If
Next
For i = 1 To 3
OutPut = OutPut & Arr(i) '连接数组值
Next
MsgBox OutPut '输出结果
End Sub
热心网友
时间:2024-10-19 16:38
Sub temp()
Dim st As String, st1 As String
Dim ss As String, sp As String
Dim i As Integer, j As Integer, k As Integer
st = InputBox("输入三位数字")
If st <> "" Then
For i = 1 To Len(st)
ss = Mid(st, i, 1)
k = 1
For j = 1 To Len(st)
If Val(ss) > Val(Mid(st, j, 1)) Then
k = k + 1
Else
End If
Next j
Do While InStr(1, sp, k, vbTextCompare) > 0
k = k + 1
Loop
sp = sp & k
Next i
For i = 1 To Len(st)
st1 = st1 & Mid(st, InStr(1, sp, i, vbTextCompare), 1)
Next i
End If
MsgBox st1
End Sub
热心网友
时间:2024-10-19 16:36
定义2个文本框TextBox1和TextBox2和一个button1,然后输入如下代码
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim b1 As Integer
Dim b2 As Integer
Dim b3 As Integer
b1 = CType(TextBox1.Text.Substring(0, 1), Integer)
b2 = CType(TextBox1.Text.Substring(1, 1), Integer)
b3 = CType(TextBox1.Text.Substring(2, 1), Integer)
If b1 > b2 Then jiaohuan(b1, b2)
If b2 > b3 Then jiaohuan(b2, b3)
If b1 > b2 Then jiaohuan(b1, b2)
TextBox2.Text = CType(b1, String) & CType(b2, String) & CType(b3, String)
End Sub
Private Sub jiaohuan(ByRef a As Integer, ByRef b As Integer)
a = a + b
b = a - b
a = a - b
End Sub
运行后在TextBox1里输入数字按button,TextBox2里就是输出结果。
此程序VS2008 VB.NET调试通过。
热心网友
时间:2024-10-19 16:32
Private Sub Command1_Click()
x = Val(InputBox("输入三位数"))
a = x \ 100
b = (x Mod 100) \ 10
c = (x Mod 100) Mod 10
If a > b Then
If a > c Then
Max = a
If b > c Then
Min = c
midst = b
Else
Min = b
midst = c
End If
Else
Max = c
Min = b
midst = a
End If
Else
If b > c Then
Max = b
If a > c Then
Min = c
midst = a
Else
Min = a
midst = c
End If
Else
Max = c
Min = a
midst = b
End If
End If
Print Max '大
Print midst '中
Print Min '小
MsgBox Min & midst & Max
End Sub
你要是能搞清楚这个逻辑关系~那么恭喜你VB入门了~要是不理解 那么遗憾告诉你~你得好好学学 数学了。
热心网友
时间:2024-10-19 16:37
Dim t
Dim msg
st = InputBox("请输入任意长数字", "输入", "2100333")
n = Len(st)
ReDim a(n - 1)
For j = 0 To n - 1
a(j) = Mid(st, j + 1, 1)
Next
'排序
For i = 1 To n - 1
For j = n - 1 To i Step -1
If a(j) < a(j - 1) Then
t = a(j - 1)
a(j - 1) = a(j)
a(j) = t
End If
Next
Next
For k = 1 To n
msg = msg & a(k - 1)
Next
MsgBox msg, 48, "结果:"