c語言for迴圈問題,C語言for迴圈問題

時間 2022-04-02 09:25:25

1樓:遊唐碧風

for( j=i-1 ; j>=0 && t>a[j] ; j-- ) 只控制語句 a[j+1]=a[j];

如果 for( j=i-1 ; j>=0 && t>a[j] ; j-- )

語句 a[j+1]=t; 才在for迴圈裡

2樓:逸

這段**應該是這樣的趕腳哈。。。

for( j=i-1 ; j>=0 && t>a[j] ; j-- )

你的**也進行縮排了的嘛。。。有些書上就喜歡用縮進來表示在乙個block裡面,我最討厭這種了,鬼知道是不是排版出錯或者什麼的

block裡面只是做兩個數的位置交換而已,功能明確,你的寫法看起來就有點點怪怪的

3樓:笑年

不是,該是這樣才對

for( j=i-1 ; j>=0 && t>a[j] ; j-- )

4樓:葉竹軒逸

看你的這段程式,應該是在一串降序的資料裡插入乙個數,使其還是降序。例如9、7、6、5、3,你想把t插入,如果t比最後乙個都小,例如t=1的時候,上面的迴圈t>a[j]都不滿足,這個時候就執行a[j+1]=t,資料就成了9、7、6、5、3、1了。

假如t=4,這時候不是資料裡最小的,在迴圈判斷的時候,在j=4的時候成立,就執行了a[4+1]=a[4],這樣就把資料3的值複製給a[5]了,而這個時候再進行迴圈判斷的時候,t=4不滿足條件了,就退出迴圈執行後面的a[j+1]=t,即a[4]=4,即資料就是9、7、6、5、4、3了。

c語言for迴圈問題,C語言迴圈問題

從for語句的這種用法 寫在前面和後面沒有區別,作為迴圈最後執行的語句,先加和後加都是加,不影響最終a的取值,在下次迴圈條件判斷執行前,a的值都保證已經加1了.b a 相當於b a a b a 相當於a b a 迴圈執行順序是 a 0 判斷a 5成立,開始迴圈 如果不成立,直接退出迴圈 執行迴圈體一...

c語言for迴圈效率問題,C語言for迴圈問題?

for i 0 i 5 i for j 0 j 100 j 效率高 雙層迴圈,較長的迴圈放在內層效率要高 for j 0 j 100 j for i 0 i 5 i 這樣內層迴圈要構造100次,所以頻繁的在迴圈和構造迴圈間切換for i 0 i 5 i for j 0 j 100 j 這樣內層迴圈只...

C語言迴圈的問題,C語言迴圈的乙個問題

迴圈列印的原因是因為你根本沒有清空 scanf的緩衝區,導致第一次輸入以後就會一直有第一次輸入的資料在快取裡面 加上你的迴圈又沒有結束條件所以導致他會一直列印 通過scanf輸入的字元都會暫時存在輸入緩衝區中,你輸入a回車,然後它首先從緩衝區中讀a,匹配到a,然後輸出a換行,然後繼續從緩衝區中讀讀到...

c語言for迴圈判斷素數,C語言for迴圈判斷素數

i x如果後面沒有if i x 肯定錯呀,乙個數肯定能被本身整除,那樣每個數都不是素數了。素數的概念是不能被1和本身整除且大於2的數。x 1可以少迴圈一次嘛 反正後面做了i 了 i x 1 i x i x 1 i x 2 i x 3 i x 100 i 以上都對,只要能讓i執行到x 1就行了,如果是...

C語言for迴圈的問題

一共進行5次大迴圈 第1次 i 0,k 5次 k 5 第2次 i 1,k 4次 k 9 第3次 i 2,k 3次 k 12 第4次 i 3,k 2次 k 14 第5次 i 4,k 1次 k 15 第5次 i 5,跳出迴圈 i 0 j i 0 k自加5次,k 5 i 1 j i 1 k自加4次,k 9...