Vb数字排序(N个数据不限,升序或者降序)编程
1、打开Vb6.0新建工程-标准EXE》在Form1代码模块输入如下代码:
Private Sub Command1_Click()
Dim Data() As String, MaxNum As Integer, Temp As Integer, StepVal As Integer, i As Integer, i2 As Integer
Dim TempStr As String
'降序排序程式
Data() = Split(Text1.Text, ",")
StepVal = UBound(Data()) - 1
For i = 0 To StepVal
For t = 0 To i
' If Val(Data(t)) > Val(Data(i + 1)) Then
'
' MaxNum = Data(t) '排序不变,取大数给MaxNum
If Val(Data(t)) < Val(Data(i + 1)) Then
MaxNum = Data(i + 1) '排序改变
Data(i + 1) = Data(t) '前后两个变量数据交换
Data(t) = MaxNum
'ElseIf Data(t) = Data(i + 1) Then
'两个数据相同,不做前后排序
End If
Next
Next
For i2 = 0 To UBound(Data())
TempStr = TempStr & IIf(TempStr = "", "", ",") & Data(i2)
Next
Text2.Text = TempStr
MsgBox "Ok!"
End Sub
Private Sub Command2_Click()
Dim Data() As String, MaxNum As Integer, Temp As Integer, StepVal As Integer, i As Integer, i2 As Integer
'降序排序程式
Data() = Split(Text1.Text, ",")
StepVal = UBound(Data()) - 1
For i = 0 To StepVal
For t = 0 To i
If Val(Data(t)) < Val(Data(i + 1)) Then
MaxNum = Data(t) '排序不变,取大数给MaxNum
ElseIf Val(Data(t)) > Val(Data(i + 1)) Then
MaxNum = Data(i + 1) '排序改变
Data(i + 1) = Data(t) '前后两个变量数据交换
Data(t) = MaxNum
ElseIf Data(t) = Data(i + 1) Then
'两个数据相同,不做前后排序
End If
Next
Next
Text2.Text = ""
For i2 = 0 To UBound(Data())
Text2.Text = Text2.Text & "," & Data(i2)
Next
MsG.EndTime
End Sub
Private Sub Command3_Click()
Dim i As Integer, s As Integer
s = Val(Text3.Text)
Text1.Text = ""
For i = 0 To s
Text1.Text = Text1.Text & IIf(Text1.Text = "", "", ",") & Int(Rnd * 1000)
Next
End Sub
2、
窗体的外观设计:
3、好了,Vb排序程序演示到此Ok,有什么疑问或者建议请到我空间留言,Thanks you.
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:175
阅读量:140
阅读量:186
阅读量:39
阅读量:25