1樓:吹花
1、這個首先是「下標越界」吧,可以dim a(5)as integer
需要注意的是:你只用了5個元素,你沒用option base 1,所以下標從0開始的。
2、其次是「型別不匹配」,陣列的輸出要採用如下形式:
for i = 1 to ubound(a)print a(i),
next i
2樓:昨日的十七號
你的a陣列沒有定義下標 ^_^
解決方案:
直接限定下標範圍
dim a(1 to 5) as integer或dim a(6) as integer '這裡要寫6,預設陣列下標從0開始
使用動態陣列的定義
dim a() as integer
redim a(6) '這裡要寫6,預設陣列下標從0開始
還有就是陣列的輸出問題了。輸出陣列只能一個一個輸出其中的資料,例如print a(1),print a(2),print a(i) 皆可。
望採納~
3樓:匿名使用者
括號裡得有索引,你直接這樣,vb不知道你究竟想輸出哪個陣列成員,因此 讓然報錯
關於c語言氣泡排序法的問題
4樓:甲珂莘之桃
改好了:
#include
"stdio.h"
#include
"stdlib.h"
void
printarray(int
a,int
n)//輸出排序每一步的結果
}count++;
//記錄已經發生的排序次數
printf("after
%dsorting:",count);
printarray(a,n);
//輸出第count次的排序結果
if(flag==0)
//沒進行一次排序,flag都清0,若交換再發生,則排序完成}}void
main()
//主函式
5樓:匿名使用者
是抄的嗎?自己執行一下就看見了
第20行
for(i=0;j 改成for(j=0;j 6樓: 你把錯誤的情況說明白點 關於vb一維陣列的氣泡排序法 7樓:唸尐憂 for i=1 to 9 for j=i+1 to 10 if a(i)>a(j) then t=a(i) a(i)=a(j) a(j)=t 這樣的意思.最後一句可以寫成這樣的三句話. 8樓: 就是把 a(i)和a(j)的值交換```` 這個程式就是說第一個和後面一個的數比較,如果比後面一個大,就交換這兩個數,然後和下一個進行比較,直到最後一個``` 然後在把第二個數重複上述操作,直到最後一個 9樓: t=a(i):a(i)=a(j):a(j)=t這句話的意思是a(i)和a(j)的值互換,t是中間變數等價於,用冒號的意思是冒號前後是兩條語句 t=a(i) a(i)=a(j) a(j)=t 10樓:匿名使用者 for i=1 to 9 for j=i+1 to 10 '將j的值加1 if a(i)>a(j) then '如果a(i)比a(j)的值大,則進行下面** t=a(i):a(i)=a(j):a(j)=t '將a(i)的值賦給t,將a(j)賦給a(i),最後將t的值賦給a(j) 最後一句的意思就是比較a(i)與a(j)的大小,如果a(i)比a(j)大,則將a(j)的值賦給a(i),再將a(i)的值賦給a(j),相當於執行一次交換,這就是「冒泡」演算法 當然,最後再用print語句輸出,即可排列出所有的元素 順便說一句,「:」的作用就是可以在一行執行多條語句,在執行多條類似的語句可以用":",來分割每條單獨的語句 vb中氣泡排序法詳解 11樓:匿名使用者 書上講的是不容易理解我來給你說下比如 3,1,2,5,6,4 為例首先把數按順序賦給陣列 a(1~6) 不難吧然後給你提一點冒泡法最後一個數會確定下來第一個數,來下面:從大到小排: 1。 for i = 1 to 6 2。 for j=i to 6-i 3。 if a(j)
next j 5。next i首先i=1,j=1 j=j+1 3和1比不交換 i=1 j=2 j=j+1 1和2交換 為3,2,1,5,6,4 i=1 j=3 j=j+1 1和5交換 為3,2,5,1,6,4 i=1 j=4 j=j+1 1和6交換 為3,2,5,6,1,4 i=1 j=5 j=j+1 1和4交換 為3,2,5,6,4,1 注意**6 for j= 1 to 6-i 為什麼6-i 因為最小的數 1 已經確定了,下次不需要排了。 繼續反覆操作 確定倒數第2個最小的,直到確定到順數第2個,完成。 為什麼是順數第2個,因為第1個和第2個比較了,第1個就不用比了,其中一個最大一個最小。累啊```不知道表達清楚沒 12樓:匿名使用者 設要排序的陣列為a(n)for j=1 to n-1'外迴圈for i= j+1 to n『內迴圈if a(j)>a(i) then』分別比較第i和其後所有個元素,若第i個元素大於第j個元素則交換,相當於把最小的移到第一個,即冒泡到最上個 t=a(i)a(i)=a(j)a(j)=tnext inext jend ifnext n內迴圈一次保證最小的元素移到最前,下次排序只需要從第j+1個元素開始就行 13樓:貴州遵義發郎中 參見 14樓:匿名使用者 原理懂了,還看不懂**,那你懂vb**嗎? 氣泡排序法是如何排序的??? 15樓:隨便什麼名啦啦 氣泡排序演算法的原理: 1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 2、對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。 3、針對所有的元素重複以上的步驟,除了最後一個。 4、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。 16樓:飛鷹 它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序(如從大到小、首字母從a到z)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。 這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「氣泡排序」。 17樓:溜到被人舔 氣泡排序演算法的原理如下: 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。 針對所有的元素重複以上的步驟,除了最後一個。 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較 18樓:匿名使用者 用兩層迴圈,比較兩個數大小,按要求,大數或者小數在前排序,注意二層迴圈中,j=i 19樓:匿名使用者 冒泡就是大的數,比較之後放到最前面,一次類推 20樓: 其實很簡單,就是一個一個進行對比如果ab就把兩個變數進行交換,使得最大/最小的排在前面。 2 4 3 5 1 五個數 2<4 交換成為 42351 2<3 成為 43251 2<5 成為 43521 2>1 不交換 43521 然後最小的1就一定會在最後 然後比較前4個數,4>3,3<5(交換),3>2; 成為45321, 前3個數4<5(交換),4>3 就成為了54321 這是一個巧合的例子,程式應該還要比較前兩個數5>4 最後成為54321。 以下是樣例程式。 #include int main() ;int i,j,t; //i,j是計數器,t用作交換for(i=0;i<5;i++)}} printf("%d %d %d %d %d\n",a[0],a[1],a[2],a[3],a[4]); return 0; //程式正常結束 }你懂了麼? 21樓:我愛涮涮鍋 比如有一組數為12,23,1,4,2,6。需要使用氣泡排序方法使這組數從小到大排列。首先12和23比較,12<23,則位置不變;接著23和1比較,因為23>1,所以交換23和1的位置,這組數這時是12 1 23 4 2 6;然後比較23和4,因為23>4,所以交換23和4,這組數變為12 1 4 23 2 6;然後比較23和2,23>2,再交換,變為12 1 4 2 23 6;然後比較23和6,23>6,再交換,最後為12 1 4 2 6 23。 這就叫經過了一趟排序,即相鄰兩數比較,大的放在後面,經過一趟排序後,最大的數就冒泡到最後面了。然後再對前n-1個數進行第二趟排序,排序後第二大的數就放在了第n-1個位置;最後經過n-1趟排序後整個陣列就有序了。 vb氣泡排序演算法 22樓:匿名使用者 隨即產生10個0~100的數,並按從小到大排序private sub command1_click()dim num(1 to 10) as integerdim i, j, t as integerfor i = 1 to 10 num(i) = int((100 - 0 + 1) * rnd + 0) next for i = 1 to 10 for j = i + 1 to 10 if num(i) > num(j) thent = num(i) num(i) = num(j) num(j) = t end if next j next i for i = 1 to 10 print num(i) next end sub 23樓: option base 1 private sub command1_click()dim a dim b as integer dim i as integer dim j as integer a = array(6, 3, 7, 8, 2, 1)print "排序前為"; for i = 1 to 6 print a(i); next i for i = 1 to 5 for j = 1 to 6 - i if a(j) > a(j + 1) thenb = a(j + 1) a(j + 1) = a(j) a(j) = b end if next j next i print print "排序後為"; for i = 1 to 6 print a(i); next i end sub include void main printf the sorted numbers n for i 0 i 10 i printf d a i 這是我用手打的哈 希望對你有幫助 可以試試這樣寫!include define n 10 void main for i 0 i printf 5d a... 可以肯定地告訴你,公司的做法有如下錯誤 1 未與你簽訂勞動合同 中華人民共和國勞動合同法 第七條 用人單位自用工之日起即與勞動者建立勞動關係。用人單位應當建立職工名冊備查。2 扣你一個月的工資,且工資與你們之間約定的不一致 這是明顯的違約行為。3 用所謂的 磨合期 勞動合同法只有試用期,且還要給工資... 你說的情況bai屬於遺產繼承問題 該du房子屬於你奶奶和爺zhi爺的共同財產,dao應當先分割專 一半給你奶奶 房子的屬另外一半屬於你爺爺的遺產,在沒有遺囑的情況,按照下列情況進行分割 你奶奶 你爺爺的子女,一半是平均分割,盡贍養義務多的子女可以適當多分些。在有遺囑的情況下,按照遺囑進行分割財產。真...c語言中用氣泡排序法排列任意輸入的數,用程式輸出從小到大的排列具體過程,謝謝
關於勞動法的問題,急
關於房產糾紛的法律問題急,關於房產糾紛的法律問題