C 陣列排序問題

2023-02-14 02:40:46 字數 673 閱讀 5172

1樓:阝東亻韋

樓主把++用錯了,經過一次++i之後,i本身的值就會增加1的。

for(i=0;i<10;i++)

for(i=0;i<10;i++)

for(j=0;j<9-i;j++) }

for(i=0;i<10;i++)

printf("%d\t",a[i]);

return 0;}

2樓:匿名使用者

問題所在:if (a[i]原因在於:執行完:if(a[i]而o=a[i];

a[i]=a[++i];

a[++i]=o;

就分別成為:o=a[1];

a[1] = a[2];

a[3] = o

假設有3,1,7,4四個數,第一輪之後就變成:3,7,1,4,且i的值已經為3

改正:for(i=0;i<10;i++) }

3樓:匿名使用者

if (a[i]這一串**。。 i一路飆升, 外頭for迴圈裡還i++呢, 估計兩次迴圈就跑冒掉了。。

如果你不熟悉 ++的用法千萬不要用它。 ++i都寫成 i+1就差不多了。。

4樓:

if (a[i]你這i加的也太多了.建議在一個地方 加加。其餘用a[i+1] 代替

C陣列排序問題

這是個冒泡吧。思想很簡單 就是設定一個標誌i 這個i要從陣列的0元素遍歷到最後一個元素 每次遍歷的時候 都要保證i和前面的數都是有序的 如果遍歷到j的時候 j這個元素比j 1小了 那麼就交換j和j 1這兩個元素 在吧j向前移動並重覆上面的動作 直到j比j 1這個元素大了 那麼就表示第i個元素以前的元...

c 中使用陣列對數值進行排序(選擇排序法)?

c 都幫你封裝好了 無腦呼叫sort函式就行了。c 中陣列的排序方法有哪些呢?除了氣泡排序 sort方法和reverse方法,c 還提供了許多其他的排序演算法和方法。下面對常用的排序方法進行簡要介紹 氣泡排序 bubble sort 氣泡排序是一種簡單的排序演算法,它通過比較兩個相鄰的元素,將較大的元素...

c語言陣列問題,C語言陣列問題

int main i for i 0 i 這個要問數學老師才知道。c語言陣列問題 你的 問題有以下幾個 1 min和max沒有初始化 2 對於a min 和a max 沒有做迴圈參考 如下 include main printf 最大數是 d,下標是 d,最小數是 d,下標是 d n a max m...