c語言冒泡法排序,其中第九行if a 開始,為什麼不是if a

2021-04-22 02:19:49 字數 1392 閱讀 5561

1樓:

這是冒泡排抄序演算法決定的。氣泡排序演算法共需要n趟比較(n為元素個數),每趟兩兩比較相鄰元素。外迴圈變數i決定趟數(這裡i=0...

9),內迴圈變數j控制每趟比較的元素(這裡j=0...9-i),因此是if(a[j]>a[j+1])開始。

2樓:匿名使用者

這裡兩層迴圈的意思是

i那一層是用來管理冒泡的長度

比如第一次冒回泡比較9次,最小的數到

答了最後乙個

第二冒泡你就不需要再看最好乙個了,只需要再比較8次就好了,i就是用來記錄這個的

j那一層迴圈才是真正的冒泡演算法,比較,交換。

3樓:

當然不是,你的冒泡法是把最大的沉下去,若if(a[i]>a[i+1])這樣的話,那不在內層迴圈都是比較a[0]和a[1](第一次迴圈),而且最後,也就是把最大的數沉到最下面啦!並沒有完成排序

c語言問題 若有說明int a[][4]={1,2,3,4,5,6,7,8,9};,則陣列a第一維

4樓:格仔裡兮

若有說明int a[][4]=;則陣列a第一維是3。

定義陣列並賦值時c語言規定下標是這樣的,a[n]中的n個元素應該是a[0]....a[n-1]。。

因此int a[4]的寫法就是表示,第一維大小沒限制,但是第二維陣列大小就是4,也就是int a[4]=,,},明顯是3。

分析:二維陣列的一維大小,即指二維陣列的行數,在本題中,按行對二維陣列賦值,因此內層有幾個大括號,陣列就有幾行。

5樓:杜爺1號

答案是b,3.

int a[4]的寫法就是表示,第一維大小沒限制,但是第二維陣列大小就是4,也就是int a[4]=,,},明顯是3.

6樓:小兆

你定義的就是乙個二維陣列,第二維的個數是4,為了把所有的資料能分成四份有沒有遺漏,那第一維就是3了。

7樓:寂寞的菸頭哥

首先看陣列後面為4表示有四列二維陣列是

1234

5678

9000

這裡就可以很明顯的看出是三行,所以就是a[3][4],第乙個叫做第一維,第二個叫做第二維

求解matlab問題 程式 a=[1 2 3;4 5 6;7 8 9]; b=(a>5); a(b)=(a(b))^2; disp(a); 第三行出錯

8樓:匿名使用者

matlab的解釋是:

錯誤使用 ^

輸入必須為標量和方陣。

要按元素進行 power 計算,請改用 power (.^)。

如果要說人話,就是改用「.^」而不用"^"。

C語言氣泡排序原理,C語言氣泡排序。

include void main printf the sorted numbers n for i 0 i 10 i printf d a i 氣泡排序演算法的運作 1 比較相鄰的元素。如果第乙個比第二個大 小 就交換他們兩個。2 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步...

C語言問題求解如圖謝謝氣泡排序法這個j10 i 1為什麼j要小於N i?是什麼意思

再醉不逍遙 裡面的for迴圈完成一次迴圈,就將最大值轉移到最後,那麼下一次 外面for 就要排除最後已經得到的最大值,在剩下的值中再次得到最大值並轉移到最後。每一次冒泡後,都要少比較一個資料,比如 4 5 2 1 一次冒泡得 4 2 1 5 二次冒泡得 這時只要遍歷3個 4 2 1 2 1 4 51...

C語言程式設計用冒泡法對10和整數排序從大到小

根據你的來要求,想程式設計如下 include define n 10 main int i,j,k int a n printf nplease input d datas n n n for i 0 i源序用冒泡bai 法對十個數從大du到小排列,這裡zhi你還可以根據自dao己的需要,隨時通過...