高职考技能提升教程 掷骰子 冒泡排序
要求
将“排序“命令按钮属性设置无效,单击“产生”按钮,将骰子投100次,产生各点的次数在文本框1控件数组中显示,同时“排序”命令按钮有效,“产生”按钮无效。单击“排序”按钮,将骰子各点的次数从高到低进行排序(冒泡法)并在文本框2控件数组中显示,相应的骰子图片在图像框2控件数组显示。且“排序”按钮无效,“产生”按钮有效。
总结
1、数组符号声明方式
2、随机数的运动要掌握
3、冒泡排序法的灵活应用
软件设计界面:
源代码分享:
Dim a%(5) '声明一个integer类型的控件数组 Private Sub Command1_Click() Dim i%, n% '先将筛子次数清零 For i = 0 To 5 Step 1 a(i) = 0 '将text2置空 Text2(i).Text = "" Image2(i).Picture = Nothing Next i '产生各个筛子点的次数 For i = 1 To 100 Step 1 Randomize '随机数种子 n = Int(Rnd * 6) '生成0-5之间的随机整数 a(n) = a(n) + 1 '次数加 1 Next i '显示到text1控件数组文本中 For i = 0 To 5 Step 1 Text1(i).Text = a(i) Next i Command1.Enabled = False Command2.Enabled = True End Sub Private Sub Command2_Click() '冒泡排序法排序好筛子,从高到底 Dim i%, j% '先将image1的图片都载入到image2 For i = 0 To 5 Image2(i).Picture = Image1(i).Picture Next For i = 0 To 5 Step 1 For j = 0 To 4 Step 1 If a(j) < a(j + 1) Then '数字小的放在后面 Dim t% t = a(j) a(j) = a(j + 1) a(j + 1) = t '图片交换 Image3 = Image2(j) Image2(j) = Image2(j + 1) Image2(j + 1) = Image3 End If Next j Next i '将数字显示到text2中 ,将text1置空 For i = 0 To 5 Step 1 Text2(i).Text = a(i) 'Text1(i).Text = "" Next i Command1.Enabled = True Command2.Enabled = False End Sub Private Sub Form_Load() Command1.Enabled = True Command2.Enabled = False End Sub