1樓:匿名使用者
<%a="1,7,2,4,8,6,9"
a=split(a,",")
dim ary(6)
for i =0 to 6 '這裡轉一下值 是為了方便你理解。。。
ary(i)=a(i)
next
ck=true '為ck設定成true,為下面do迴圈做準備do until ck = false '做do 迴圈,這裡比較重要,如果下面的for迴圈返回的值是true 那就證明這5個數中至少有兩個挨著的數滿足條件clng(ary(f))>clng(ary(f+1)),而這兩個數有可能在中間。也有可能在最後,絕對不可能在前面。。(這裡的前面和後面是按下標排序的,下標小叫前面,下標大叫後面)所以就必須要在做do迴圈,重新從1-5個數進行比較,如果在沒有任何挨著的兩個數滿足條件clng(ary(f))>clng(ary(f+1)),那麼if語句就不會執行,ck=false,跳出do 迴圈
ck=false
for f = 0 to 5
if clng(ary(f))>clng(ary(f+1)) then '挨著的兩個數兩兩比較。然後大的放前面 小的放後面
v1=clng(ary(f))
v2=clng(ary(f+1))
ary(f)=v2 '這裡存放比較後更小的一個數ary(f+1)=v1 '這裡存放比較後更大的一個數ck=true '如果存在兩個挨著的數滿足條件clng(ary(f))>clng(ary(f+1))那麼ck=true 就會繼續執行do 迴圈
end if
next
loop
for f=0 to 6
response.write ary(f)&"
" '列印出來
next
%>
2樓:
function sort(ary)
dim keepchecking,i,firstvalue,secondvalue
keepchecking = true
do until keepchecking = falsekeepchecking = false
for i = 0 to ubound(ary)if i = ubound(ary) then exit forif ary(i) > ary(i+1) thenfirstvalue = ary(i)
secondvalue = ary(i+1)ary(i) = secondvalue
ary(i+1) = firstvaluekeepchecking = true
end if
next
loop
sort = ary
end function
dim a,b,i
a="1,7,2,4,8,6,9"
a=split(a,",")
b=sort(a)
for i = 0 to ubound(b)response.write(b(i)&",")next
3樓:匿名使用者
寫的那麼麻煩簡單的
關於ASP的問題,ASP指什麼
sql,conn,1,3 第一個1是表示 指標,一般情況用1,若要求指標只能單向移動就是0第二個3是表示 資料庫開啟方式,3表示可以更新 可寫 1表示只讀 不可寫,保護資料 是新增一條新記錄的意思,執行 sql,conn,1,3中sql語句。sql,conn,1,3是開啟一個可修改的資料庫表檔案,s...
asp關於顯示的問題
while not rs.eof do rs dasdf rs.movenext if not rs.eof then response.write rs dasdf else response.write nbsp 自己去掉,要不顯示不出來,百讀直接解釋成空格了end if if not rs.e...
asp中split為什麼不能擷取從資料庫中查出的字串,求高手解答
資料庫中的資料可能有問題 a rs 列名 b split a,dim i for i 0 to ubound b response.write b i next 補充 response.write b 1 response.write b 2 b 2 response.write b 3 話不多說,...