数据排序求教,谢谢!!!有a,b,c,d,e五个文件a里有数据:(4)
kk 1111
kk 1111
kk 1111
kk 1111
b里有数据:(3)
ll 2222
ll 2222
ll 2222
c里有数据:(4)
oo 3333
oo 3333
oo 3333
oo 3333
d里有数据:(5)
ww 3333
ww 3333
ww 3333
ww 3333
ww 3333
e里有数据:(6)
tt 1111
tt 1111
tt 1111
tt 1111
tt 1111
tt 1111
我向统计后得出以下的数据:
tt 6
ww 5
kk 4
oo 4
ll 3
求教该如何写出这段代码,谢谢!!!(能否用一个二位数组)
kk 1111
kk 1111
kk 1111
kk 1111
b里有数据:(3)
ll 2222
ll 2222
ll 2222
c里有数据:(4)
oo 3333
oo 3333
oo 3333
oo 3333
d里有数据:(5)
ww 3333
ww 3333
ww 3333
ww 3333
ww 3333
e里有数据:(6)
tt 1111
tt 1111
tt 1111
tt 1111
tt 1111
tt 1111
我向统计后得出以下的数据:
tt 6
ww 5
kk 4
oo 4
ll 3
求教该如何写出这段代码,谢谢!!!(能否用一个二位数组)
Option Explicit
Private Type spf
Indexf As Long
sl As Long
End TypePrivate Sub Command1_Click()
Dim px(1 To 5, 1 To 2) As String, t As String
Dim i As Long, j As Long, pxi(1 To 5) As spf
'这里的文件名路径自己改下
Open "e:\a" For Input As #1
Open "e:\b" For Input As #2
Open "e:\c" For Input As #3
Open "e:\d" For Input As #4
Open "e:\e" For Input As #5
For i = 1 To 5
t = Input(LOF(i), i)
px(i, 1) = Left(t, 2)
pxi(i).Indexf = i
pxi(i).sl = (Len(t) - Len(Replace(t, vbCrLf, ""))) / 2 + 1
px(i, 2) = pxi(i).sl
Next
For i = 1 To 4
For j = i + 1 To 5
If pxi(i).sl < pxi(j).sl Then
pxi(i).sl = pxi(i).sl Xor pxi(j).sl
pxi(j).sl = pxi(i).sl Xor pxi(j).sl
pxi(i).sl = pxi(i).sl Xor pxi(j).sl
pxi(i).Indexf = pxi(i).Indexf Xor pxi(j).Indexf
pxi(j).Indexf = pxi(i).Indexf Xor pxi(j).Indexf
pxi(i).Indexf = pxi(i).Indexf Xor pxi(j).Indexf
End If
Next
Next
For i = 1 To 5
Print px(pxi(i).Indexf, 1), px(pxi(i).Indexf, 2)
Next
Close #1
Close #2
Close #3
Close #4
Close #5
End Sub