關於C 迴圈裡面的乙個 基本問題

時間 2024-12-30 17:45:09

1樓:網友

if(a[i]標準寫應該把第二個for迴圈改為for(j=i+1;j<100;j++)

因為j=i a[i] 和a[j]比較是沒意義的。

比如說 第一次外迴圈。

i=0j=1時 就拿a[0]和a[1]比較 如果a[0]就把a[0]的值和a[1]的值對換。

j=2時 再拿a[0]與a[2]比較 ……想當於把最大的數存在了a[0]裡面。

退出這個迴圈後 到for(i=0;i<100;i++)

i=1 j=2 用a[1]不停的和a[2],a[3],a[4]比較 如果有大於a[1]就把值調換 ……

就是從大到小排列了。

2樓:網友

for(i=0;i<100;i++)兩個迴圈巢狀實現排序的功能。

for(j=i;j<100;j++)

if(a[i]temp=a[i]; temp是個中間變數,既如果a[i]a[i]=a[j];

a[j]=temp;

兩個迴圈就是迴圈比較,把小的數放到前頭。

3樓:花式碼農

#include

using namespace std; /多加幾個括號看起來好得多。

int main()

int a[100];

int i,j,temp;

for(i=0;i<100;i++)迴圈輸入100個整形數字。

cin>>a[i];

for(i=0;i<100;i++)這裡多加幾個括號看起來會清楚得多。

for(j=i;j<100;j++)

if(a[i]//這個排序演算法相當的陳舊。。呵呵。應該是插入排序法怎麼的。

迴圈掃瞄第i個字元以後的,如果有比當前i位置還大的,就交換。

temp=a[i];

a[i]=a[j];

a[j]=temp;

最後產生乙個從大到小排列好的陣列。

for(i=0;i<100;i++)這裡是輸出排序後的值。

cout

4樓:網友

for(i=0;i<100;i++)a[i]迴圈。

for(j=i;j<100;j++)從a[i]後面的值開始到最後乙個迴圈,if(a[i]temp=a[i]; a[i]給中間變數。

a[i]=a[j]; a[j]的值給a[i]a[j]=temp; 中間變數再給a[j]就是先把a[i]固定了,然後比較a[i]後面的a[j]值是不是比a[i]大,a[i]

5樓:皮皮愛運動

選定乙個元素,然後與他後面的所有的元素比較,小了就交換。這樣最小的就在前面了。排序的。

6樓:

這是乙個排序,如果a小於a,他倆之間的資料就調換,這個問題我不是專業我都能看出來,哈哈。

關於C 列舉的簡單問題 關於C 裡面的列舉問題

你第二次賦值的時候把第一次賦的值給覆蓋了,當然只顯示第二次的的值 你可以改成。賦值。賦值。不明白你的意思!你給賦了當然在後面都列印femail了,賦值 賦值 為什麼同是列印兩個同樣的值。你改成這樣就列印不同的值了,program zhou new program 例項化物件。你只是例項化一個物件然後...

關於C 的問題,關於C 的一個問題

d centigrade 5 9 d fahrenheit 32 這一句的9 d fahrenheit 32 是希望表示9 d fahrenheit 32 嗎?d centigrade 5 9 d fahrenheit 32 這一句,結合cannot be used as a function,編譯...

關於C語言的問題,求教,一個關於C語言的問題,求教!!

冰雨vs冰霜 a b 是賦值 a b 是等號 這是新手長犯錯誤 c語言中經常犯的毛病!初學者必看!c 語言的最大特點是 功能強 使用方便靈活。c編譯的程式對語法檢查並不象其它高階語言那麼嚴格,這就給程式設計人員留下 靈活的餘地 但還是由於這個靈活給程式的除錯帶來了許多不便,尤其對初學c語言的人來說,...