+ -
当前位置:首页 → 问答吧 → 为什么我返回的值是“0”?

为什么我返回的值是“0”?

时间:2011-08-03

来源:互联网

Function jiang(zx, zj)
If zx - 10 ^ 12 < 0 Then
jiang = "自选错误"
End If
Exit Function

If zj - 10 ^ 12 < 0 Then
jiang = "中奖号错误"
End If
Exit Function

Dim r(6) As Single
Dim jr(6) As Single
Dim b, jb, p, i, j
p = 0

For i = 1 To 6
  For j = 1 To 6
  If r(i) = jr(j) Then
  p = p + 1
  End If
  Next j
Next i

r(i) = (zx Mod 10 ^ (8 - i) - zx Mod 10 ^ (7 - i)) / 10 ^ (7 - i)
b = zx Mod 10 ^ 2

jr(i) = (zj Mod 10 ^ (8 - i) - zj Mod 10 ^ (7 - i)) / 10 ^ (7 - i)
jb = zj Mod 10 ^ 2

If r(i) = jr(i) Then
  p = p + 1
End If

If b = jb Then
  If p = 6 Then
  jiang = "一等奖"
  ElseIf p = 5 Then
  jiang = "三等奖"
  ElseIf p = 4 Then
  jiang = "四等奖"
  ElseIf p = 3 Then
  jiang = "五等奖"
  ElseIf p < 3 Then
  jiang = "六等奖"
  End If
Else
  If p = 6 Then
  jiang = "二等奖"
  ElseIf p = 5 Then
  jiang = "四等奖"
  ElseIf p = 4 Then
  jiang = "五等奖"
  ElseIf p < 4 Then
  jiang = "未中奖"
  End If
End If

End Function

作者: cslaoyuweng   发布时间: 2011-08-03

Function jiang(zx, zj) as string

作者: BestBadGod   发布时间: 2011-08-03

另外需要跟下程序看是不是中间退出函数了。

作者: BestBadGod   发布时间: 2011-08-03

这次显示是“#value”

作者: cslaoyuweng   发布时间: 2011-08-03

程序修改后是这样了,还是不行,求教,拜谢!!!

Exit Function
End If

If zj - 10 ^ 12 < 0 Then
jiang = "中奖号错误"
Exit Function
End If

Dim r(6) As Single
Dim jr(6) As Single
Dim b, jb, p, i, j

For i = 1 To 6
  For j = 1 To 6
  Next j
Next i

r(i) = (zx Mod 10 ^ (2 * (8 - i)) - (zx Mod 10 ^ (2 * (7 - i)))) / 10 ^ ((7 - i) * 2)
jr(j) = (zj Mod 10 ^ (2 * (8 - i)) - (zj Mod 10 ^ (2 * (7 - i)))) / 10 ^ ((7 - i) * 2)

If r(i) = jr(j) Then
  p = 0
  p = p + 1
End If

b = zx Mod 10 ^ 2
jb = zj Mod 10 ^ 2

If b = jb Then
  If p = 6 Then
  jiang = "一等奖"
  ElseIf p = 5 Then
  jiang = "三等奖"
  ElseIf p = 4 Then
  jiang = "四等奖"
  ElseIf p = 3 Then
  jiang = "五等奖"
  ElseIf p < 3 Then
  jiang = "六等奖"
  End If
Else
  If p = 6 Then
  jiang = "二等奖"
  ElseIf p = 5 Then
  jiang = "四等奖"
  ElseIf p = 4 Then
  jiang = "五等奖"
  ElseIf p < 4 Then
  jiang = "未中奖"
  End If
End If

End Function

作者: cslaoyuweng   发布时间: 2011-08-03

Function jiang(zx, zj) As String

If zx - 10 ^ 12 < 0 Then
jiang = "自选错误"
Exit Function
End If

If zj - 10 ^ 12 < 0 Then
jiang = "中奖号错误"
Exit Function
End If

Dim r(6) As Single
Dim jr(6) As Single
Dim b, jb, p, i, j

For i = 1 To 6
  For j = 1 To 6
  r(i) = (zx Mod 10 ^ (2 * (8 - i)) - (zx Mod 10 ^ (2 * (7 - i)))) / 10 ^ ((7 - i) * 2)
  jr(j) = (zj Mod 10 ^ (2 * (8 - i)) - (zj Mod 10 ^ (2 * (7 - i)))) / 10 ^ ((7 - i) * 2)
  If r(i) = jr(j) Then p = p + 1
  Next j
Next i

b = zx Mod 10 ^ 2
jb = zj Mod 10 ^ 2

If b = jb Then
  If p = 6 Then
  jiang = "一等奖"
  ElseIf p = 5 Then
  jiang = "三等奖"
  ElseIf p = 4 Then
  jiang = "四等奖"
  ElseIf p = 3 Then
  jiang = "五等奖"
  ElseIf p < 3 Then
  jiang = "六等奖"
  End If
Else
  If p = 6 Then
  jiang = "二等奖"
  ElseIf p = 5 Then
  jiang = "四等奖"
  ElseIf p = 4 Then
  jiang = "五等奖"
  ElseIf p < 4 Then
  jiang = "未中奖"
  End If
End If

End Function


作者: cslaoyuweng   发布时间: 2011-08-03

单步执行 跟踪一下

作者: wju200510   发布时间: 2011-08-03

你还是给出输入的值 让大家能够帮你分析

作者: BestBadGod   发布时间: 2011-08-03

热门下载

更多