vb 代码优化问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:07:06
Function fq(ByVal v As Long) As Long
Dim l As Long
While v > 0
l = v Mod 10
v = v \ 10
Select Case l
Case 1, 3, 5, 2, 6
fq = fq + l

End Select
Wend
End Function

Function fw(ByVal v As Long) As Long
Dim l As Long
While v > 0
l = v Mod 10
v = v \ 10
Select Case l
Case 1, 2, 5, 7, 0
fw = fw + l
End Select
Wend
End Function

Function fl(ByVal v As Long) As Long
Dim l As Long
While v > 0
l = v Mod 10
v = v \ 10
Select Case l
Case 1, 2, 6, 9, 0
fl = fl + l
End Select
Wend
End Function

这3组代码如何优化成一个

Case 1, 3, 5, 2, 6
fq = fq + l

把三个函数合并成下面一个函数就行。
Function F(ByVal v As Long) As Long
Dim l As Long
While v > 0
l = v Mod 10
v = v \ 10
Select Case l
Case 0
fw = fw + l :fl = fl + l
Case 1,2
fq = fq + l:fw = fw + l :fl = fl + l
Case 3
fq = fq + l
Case 5
fq = fq + l :fw = fw + l
Case 6
fq = fq + l :fl = fl + l
Case 7
fw = fw + l
Case 9
fl = fl + l
End Select
Wend
End Function