Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2055|回复: 1

[已解决]VB这个冒泡排序内循环为什么

[复制链接]
发表于 2017-4-30 09:38 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2017-5-1 19:11 编辑

VB这个冒泡排序内循环为什么



VB这个冒泡排序内循环为什么 For j = 0 To 9 - i

Option Explicit
Dim a(9) As Long     '声名模块级数组a
Private Sub Command1_Click()
    Dim i As Long, j As Long, b As Long
    For i = 1 To 9
        For j = 0 To 9 - i         '冒泡排序10个数从小到大,为什么j从0开始,而不从1开始
            If a(j) < a(j + 1) Then
                b = a(j)
                a(j) = a(j + 1)
                a(j + 1) = b
            End If
        Next j
    Next i
    For i = 0 To 9
        Text1.Text = Text1.Text + CStr(a(i)) + "    "
        If i = 4 Then Text1.Text = Text1.Text + Chr(13) + Chr(10)
    Next i
End Sub

Private Sub Command2_Click()
    Dim i As Long, l
    Text1.Text = ""
    For i = 0 To 9
N:
        l = InputBox("请输入排序的10个数字,这是第" & CStr(i + 1) & "个", "提示", "")
        If IsNumeric(l) Then
            a(i) = l
        Else
            MsgBox "请输入数字", vbOKOnly, "错误"
            GoTo N
        End If
    Next i
End Sub


最佳答案
2017-5-1 18:28
问题1:For j = 0 To 9 - i ,从0开始的原因是数组a的下标是0~9,不是1~10
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-5-1 18:28 | 显示全部楼层    本楼为最佳答案   
问题1:For j = 0 To 9 - i ,从0开始的原因是数组a的下标是0~9,不是1~10

评分

参与人数 1 +9 收起 理由
laoau138 + 9 来学习

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 08:55 , Processed in 0.232568 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表