知识竞赛中PPT当中用VBA设置了随机抽题,但是抽出来的题总是重复,如何做到已抽的题不再出现。 100
如何做到随机抽题不重复!我现在的代码是这样的:PrivateSub开始_Click()停止.Enabled=True'停止按钮当前有效DimaAsIntegerRando...
如何做到随机抽题不重复!我现在的代码是这样的:
Private Sub 开始_Click()
停止.Enabled = True '停止按钮当前有效
Dim a As Integer
Randomize
Do
a = Fix(Rnd * 23 + 1) '使用随机函数
抽取框.Text = a
结果框.Text = ""
DoEvents
Loop
End Sub
Private Sub 停止_Click()
结果框.Text = 抽取框.Text
已抽题目 = 已抽题目 + 抽取框 + "号题" + ","
停止.Enabled = False
End
End Sub
Private Sub 打开抽取的题目_Click()
ActivePresentation.SlideShowWindow.View.GotoSlide (抽取框.Text + 1)
End Sub
Private Sub 已抽题目_Change()
End Sub
求大神告知在什么地方加什么样的代码可以实现已经抽过的题目不会再次被抽出,麻烦了。 展开
Private Sub 开始_Click()
停止.Enabled = True '停止按钮当前有效
Dim a As Integer
Randomize
Do
a = Fix(Rnd * 23 + 1) '使用随机函数
抽取框.Text = a
结果框.Text = ""
DoEvents
Loop
End Sub
Private Sub 停止_Click()
结果框.Text = 抽取框.Text
已抽题目 = 已抽题目 + 抽取框 + "号题" + ","
停止.Enabled = False
End
End Sub
Private Sub 打开抽取的题目_Click()
ActivePresentation.SlideShowWindow.View.GotoSlide (抽取框.Text + 1)
End Sub
Private Sub 已抽题目_Change()
End Sub
求大神告知在什么地方加什么样的代码可以实现已经抽过的题目不会再次被抽出,麻烦了。 展开
2个回答
展开全部
最简单的不重复随机数算法是这样的。
假如要取0-9个随机数
那么先定义一个10个元素数组,存放0-9的值。再定义一个数字,存放数组有效元素的起始下标。
然后取随机数,范围为0-当前数组有效元素个数。 第一次为0-10(即取包含0,不包含10的随机数)。
假设第一次取到是5。
那么将数组中第5个元素输出,然后将第5个元素置为有效元素的起始下标(此时是0),有效元素的起始下标置为-1(这步做不做无所谓。),数组有效元素下标+1
继续取1-9,假设下一个随机数是5,那么将第5个元素输出,然后将第5个元素置为有效元素的起始下标(此时是1),数组有效元素下标+1。
继续取2-9,假设下一个随机数是5,那么将第5个元素输出,然后将第5个元素置为有效元素的起始下标(此时是2),数组有效元素下标+1。
以此类推,直到取了10次随机数,10个数字都被取出,循环结束。
假如要取0-9个随机数
那么先定义一个10个元素数组,存放0-9的值。再定义一个数字,存放数组有效元素的起始下标。
然后取随机数,范围为0-当前数组有效元素个数。 第一次为0-10(即取包含0,不包含10的随机数)。
假设第一次取到是5。
那么将数组中第5个元素输出,然后将第5个元素置为有效元素的起始下标(此时是0),有效元素的起始下标置为-1(这步做不做无所谓。),数组有效元素下标+1
继续取1-9,假设下一个随机数是5,那么将第5个元素输出,然后将第5个元素置为有效元素的起始下标(此时是1),数组有效元素下标+1。
继续取2-9,假设下一个随机数是5,那么将第5个元素输出,然后将第5个元素置为有效元素的起始下标(此时是2),数组有效元素下标+1。
以此类推,直到取了10次随机数,10个数字都被取出,循环结束。
博思aippt
2024-07-20 广告
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT...
点击进入详情页
本回答由博思aippt提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询