Dim min Open "i:\tt.text" For Input As #1 Do While Not EOF(1) Line Input #1, st a = a & st & "," Loop Close #1 j = Split(a, ",") min = Val(j(0)) For i = 1 To UBound(j) If Val(j(i)) <min Then min = Val(j(i)) End If Next Print min 这样做,得出来的最小值是,0,可是数据中没有0
For i = 0 To UBound(j)-1
原因在于你的a = a & st & ","多加了一个逗号,所以得把最后一个值抛掉
我无话可说。split是干什么用的啊同志们?
'添加 Text1 Command1Option Explicit Dim MaxVal&, MinVal&, i&, aa$, s Private Sub Command1_Click() Randomize aa = "" For i = 0 To 9 aa = aa & CStr(Int(Rnd * 1000)) & "," Next i Text1.Text = Mid(aa, 1, Len(aa) - 1) s = Split(Text1.Text, ",") MinVal = 1000: MaxVal = 0 For i = 0 To UBound(s) MinVal = IIf(Val(s(i)) < MinVal, Val(s(i)), MinVal) MaxVal = IIf(Val(s(i)) > MaxVal, Val(s(i)), MaxVal) Next i MsgBox "最小值:" & CStr(MinVal) & Space(2) & "最大值:" & CStr(MaxVal) End Sub
Open "i:\tt.text" For Input As #1
Do While Not EOF(1)
Line Input #1, st
a = a & st & ","
Loop
Close #1
j = Split(a, ",")
min = Val(j(0))
For i = 1 To UBound(j)
If Val(j(i)) <min Then
min = Val(j(i))
End If
Next
Print min
这样做,得出来的最小值是,0,可是数据中没有0
Dim MaxVal&, MinVal&, i&, aa$, s
Private Sub Command1_Click()
Randomize
aa = ""
For i = 0 To 9
aa = aa & CStr(Int(Rnd * 1000)) & ","
Next i
Text1.Text = Mid(aa, 1, Len(aa) - 1)
s = Split(Text1.Text, ",")
MinVal = 1000: MaxVal = 0
For i = 0 To UBound(s)
MinVal = IIf(Val(s(i)) < MinVal, Val(s(i)), MinVal)
MaxVal = IIf(Val(s(i)) > MaxVal, Val(s(i)), MaxVal)
Next i
MsgBox "最小值:" & CStr(MinVal) & Space(2) & "最大值:" & CStr(MaxVal)
End Sub