Private Sub Form_Click()Dim a(1 To 5) As LongDim i, j, z As Long For i = 1 To 5 a(i) = InputBox("請(qǐng)輸入") Next i For i = 5 To 1 Step -1 '解釋這個(gè)二重循環(huán)? For j = 1 To i - 1 If a(j) > a(j + 1) Then t = a(j + 1) a(j + 1) = a(j) a(j) = t End If Next j Next i For i = 1 To 5 Print a(i); " "; Next iEnd Sub1、二重循環(huán)中的外層為什么要終值到初值然后要步長(zhǎng)-1這樣做的目的?2、內(nèi)層循環(huán)中為什么要初值到外層-1是什么意思。目的又是什么?
1 回答

泛舟湖上清波郎朗
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊
先弄清冒泡法求解的方式。每次循環(huán)后冒出一個(gè)最大值,假設(shè)第一次循環(huán)時(shí)i
=
5,程序循環(huán)比較5次,找出最大值,第一次循環(huán)后這個(gè)最大值存入a(5),此時(shí)i
=
5
-
1,而內(nèi)層循環(huán)中
j
表示的是數(shù)組
a(j)的存儲(chǔ)地址,每次循環(huán)比較的是a(j)和a(j+1)里面的值,每比較一次
j
指向的地址就+1。a()數(shù)組一共只能存儲(chǔ)5個(gè)數(shù)據(jù),所以
1<=
j
<=
5;
另外再補(bǔ)充一下,
for
j
=
1
to
i
-
1
;沒(méi)什么
-1
這個(gè)意思,也許這個(gè)才是問(wèn)題的根本,這句的意思是
這個(gè)
for
語(yǔ)句里面的程序循環(huán)執(zhí)行
i
-
1
次,這個(gè)是內(nèi)部循環(huán),每完成一次內(nèi)部循環(huán)
i
的值比上次少
1
,所以每次內(nèi)循環(huán)就會(huì)少一次,冒泡法的算法思想就是每次冒一個(gè)數(shù)出來(lái).
添加回答
舉報(bào)
0/150
提交
取消