C 陣列排序問題

2023-01-15 07:45:11 字數 673 閱讀 2493

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語言陣列問題,c語言陣列宣告問題

for i 1 i 10 i break 要求按已排好的順序規律將它插入到陣列中.這段改為 for i 1 i 10 i a i 1 m break 你確定是從大到小排列嗎?我怎麼感覺你的程式是從小到大排列的啊。include void main 從鍵盤接收10個數。for j 1 j 10 j f...

C語言陣列問題

void out set unsigned char bit id,bit value if value else 呼叫的時候就是這樣 out set 22,1 置位 out set 22,0 置0 無頭無尾的,怎麼給你解釋?這個不是陣列的問題,應該是關於位運算的問題 bn表示第幾個位元組 msk就...

C語言的問題,指標陣列,c語言指標陣列

改變不了,字串常量是改不了的,你可以試試char p aaaaa p 1 b 這樣是改不了的 只能定義二維陣列才可以改 char p 3 100 這樣才可以改,不要問為什麼,字串常量就是不能改 直接讓指標指向另一個字串即可 p 0 aaaa 這樣定義指標指向的字串是無法修改的。c語言指標陣列 p是i...