标题菜鸟捉虫(27)
栏目软件世界
发布2001年27期
上期正确答案:
不难看出,程序使用的是冒泡排序,错误主要出现在递归函数func中。正确答案如下:
Dim MyArrav()As Long
Dim Record As Long
Private Sub Command1_Click()
…
Call Func(l)'//错误1:由于数组的下标是以0开始的,所以第一个数永远不会被列人进行比较
的过程,应改为Call Func(0)
b=””
Por i=0 To Record -l
b= b & Sir(MyArray(i)) &”|”
Next i
…
End Sub
Private Sub Func(By Val f As Long)
…
For i=f To Record - 1
If a< MyArray(i) Then
a=My Array(i)
fig二True
b=i
exit for'//错误2:导致了没有进行数组的扫描(搜寻本次的最大数),应去掉此行
End If
Next i
…
End sub
获奖名单:
浙江 朱启华 四川 刘 波
湖南 程 义 江苏 谢成功
黑龙江 李中华
以上幸运读者将获得电脑报最新出品的《电脑报配套光盘》杂志一套。
本期题目:
当程序启动时;要求窗体在显示出来的过程当中,从左往右拉开,产生动画效果。新建一工程,将Forml的ScaleMode属性设置为3-Pixel;再加人一个Timer控件,将Interval设置为50。以下为实现该功能的源代码,由于存在一些错误,无法完成这一动画效果,请将这些Bug找出来。
Private Sub Form_Load() '居中
Forml.Left=(Screen.Width -Forml.Scalewidth)/ 2
Forml.Top=(Screen.Height-Forml.ScaleHeight)/ 2
Forml.Width=50
End Sub
Private Sub Timerl_Timer()
If Forml.Width>=700 Then
Timerl.Enabled= False
End If
Forml.Width=Forml.Width+200
End Sub