有关VB6 for next语句的问题 急急急急急急急急急急!!!好的加分!!!!!!!!!!!

小球从高处落下,每次落地后反弹,反弹高度为原高度的一半,再落地,弹起,再弹起,高度为上次弹起高度一半,类推。
text1输初始高度
text2输弹跳次数
单击"计算(command1)"label4中显示其经弹起后经过的距离
望高人解决
加了个label6,单击"计算(command1)"label6中显示最后一次弹起高度

下面是Command1单击事件代码。。
Private Sub Command1_Click()
On Error GoTo err
Dim a As Integer
a = Me.Text1
Me.Label4.Caption = 0
For i = 1 To Text2
Me.Label4.Caption = Me.Label4.Caption + a + a / 2
a = a / 2
Next
Me.Label6.Caption = a
Exit Sub
err:
MsgBox err.Description
End Sub追问

.....这代码有点高级,请用for next 语句

追答

晕,这里用的就是 for next 语句啊!
For i = 1 To Text2
Next
但是,单凭 for next 语句是不会得出正确结果的。可以说,这已经是最简练的了。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-08
过程分析:
1、落地-弹起是一个周期。
2、落地前高度是该周期的初始参数H,运动距离是S = 1.5H,S是该周期的运动结果。
3、H是变量,需要迭代替换,S则需要累加。
程序实现如下:
Private Sub Command1_Click()
Dim h As Double
Dim s As Double
Dim n As Integer
'初始化变量
h = 0
n = 0
s = 0

'使用文本前做合法性判断
If IsNumeric(Text1.Text) Then h = Text1.Text
If IsNumeric(Text2.Text) And CStr(CInt(Text2.Text)) = Text2.Text Then n = CInt(Text2.Text)
If h > 0 And n > 0 Then
Dim i As Integer
For i = 1 To n
s = s + 1.5 * h
h = h / 2
Next
Label4.Caption = s
Label6.Caption = h
End If
End Sub
第2个回答  2012-11-07
先列好数学公式,再把公式转换成代码即可,关键在公式

为什么在VB6.0中 For-Next语句中加了stap总是显示“缺少结束语句”啊...
出现这个现象并不奇怪,step是vb内部关键字,但是在没有空格时vb将整个step2看做是一个整体,就出错了 希望对你有点帮助~~~

vb6.0中怎么实现结束本次循环,进入下一次循环?急!!
用exit for语句可以退出循环.如果你不想退出就用循环嵌套

vb6.0 循环语句 退出循环
if a=25 then ___exit for___...next a \\在程序中添加一语句使程序不执行if到next a之间的语句 直接执行 next a 进入下一次循环!!!a=100 do while a<=100 ...if a\/25=int(a\/25) then _exit do___...a=a-1 loop

在vb6.0里如何跳出双层for回圈
For i = 1 To 100 For j = 1 To 100 '跳出双重循环 Exit For '这里只跳出了内层循环 Next j If j <= 100 Then Exit For '然后这里检测内层循环是否循环完毕,如果没有循环完毕而是跳出来的,那么跳出外层循环,这样就可以做到跳出双重循环Next i ...

VB6.0 求大神帮助 采纳有追加的!!!
Private Sub Form_Load()ReDim a(25)List1.ClearFor i = 0 To 19Randomizea(i) = Int(Rnd * 90 + 10)List1.AddItem "a(" & i & ") = " & a(i)NextEnd Sub Private Function su(x As Integer) As Boolean ‘判断一个数是否为素数su = TrueFor i = 2 To x - 1If x ...

VB6.0一大堆问题,看问题补充,嫌麻烦的就看悬赏,100,回答得好还加
Private Sub Text1_KeyDown(...) If Key=vbKeys.F1 Then 要显示的窗体.ShowDialog End IfEnd Sub消失一个窗口很简单,只有作为启动项的窗体不能关闭,其他的都可以直接关闭 启动窗体.Hide '\/\/隐藏就好了其他窗体.Close等待N秒后图片关闭举例,10秒 '\/\/拖一个Timer控件Dim i as Integer...

如何让VB6读写文件更快
Private Sub Command1_Click()Dim nStr As String, H As Long, B() As Byte, F As String '先用For…Next语句将要写入的数据合成到 nStr,进行一次性存入。下面是我的65K例子 nStr = "我的123" & String(65535, "A") & "例子" '--- 65K 的数据 F = "C:\\aaa.txt"H = FreeF...

VB二维数组问题~ 求高手。(追分!!!)
看样子,你用的是vb6,你可以把输出用的语句 Print h(j, k) 后面加一个逗号。Print h(j, k),这样就可以打印出矩形解构了。也可以用如下写法,可能好一点儿 Print h(j, k) + space(1);

【急!!】vb6.0 如何获取文件夹大小???
Private Sub form_Click()File1.Path = "D:\\1\\"Dim fc%, al fc = File1.ListCount - 1 Dim fl(32767) As Long For a = 0 To fc fl(a) = FileLen("D:\\1\\" & File1.List(a))Next For a = 0 To fc al = al + fl(a)Next MsgBox (al \/ 1048576 & "MB")End Sub 其...

VB6.0的软件适用,求解下图第二题!!急,最好能截图给我
'在窗体上,添加三个水平滚动条,设置为控件数组,名称为 hs ,添加一个标签控件Private Sub Form_Load() For i = 0 To 2 hs(i).Min = 0 hs(i).Max = 255 hs(i).Value = 0 NextEnd SubPrivate Sub hs_Change(Index As Integer)Label1.ForeColor = RGB(hs(0).Value...

相似回答