vba编一个给小学生随机出加减乘除的题,遇到疑问

要求是:加减乘除随机,加法要求两个加数都不大于100,减法要求被减数大于减数,乘法要求得数小于等于一百,除法要求被除数小于等于100,除数要求小于等于50,在一个地方插入按钮,显示出题次数
问题是,为什么出题次数有遗漏,比如1,2,3,4,5,6,7,9什么的
第二,为什么除数有时候超过50了?
Sub cmdRnd_Click()
Dim rule As Integer
Cells(5, 7) = Cells(5, 7) + 1
rule = CInt(Rnd() * 100) Mod 4
Select Case rule
Case 0
Cells(1, 1) = CInt(Rnd() * 10000) Mod 100
Cells(1, 3) = CInt(Rnd() * 10000) Mod 100
Cells(5, 7) = Cells(5, 7) + 1
Cells(1, 2) = "+"
Case 1
Cells(1, 1) = CInt(Rnd() * 10000) Mod 100
Cells(1, 3) = CInt(Rnd() * 10000) Mod 100
If Cells(1, 1) < Cells(1, 3) Then
t = Cells(1, 1)
Cells(1, 1) = Cells(1, 3)
Cells(1, 3) = t
End If
Case 2
Cells(1, 1) = CInt(Rnd() * 10000) Mod 100
Cells(1, 3) = CInt(Rnd() * 10000) Mod 100
While Cells(1, 1) * Cells(1, 3) > 100
Cells(1, 1) = CInt(Rnd() * 10000) Mod 100
Cells(1, 3) = CInt(Rnd() * 10000) Mod 100
Wend
Cells(1, 2) = "×"
Case 3
Cells(1, 1) = CInt(Rnd() * 10000) Mod 100
Cells(1, 3) = CInt(Rnd() * 10000) Mod 200
Cells(1, 2) = "÷"
End Select
End Sub

@1 case 0的时候,Cells(5, 7) = Cells(5, 7) + 1 多加了一次

@2 Cells(1, 3) = CInt(Rnd() * 10000) Mod 200 改成 (Cells(1, 3) = CInt(Rnd() * 10000) Mod 50 + 1)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-05
参考我写的程序
追问

没有权限下载

追答

给个邮箱

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网