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,他倆之間的資料就調換,這個問題我不是專業我都能看出來,哈哈。 你第二次賦值的時候把第一次賦的值給覆蓋了,當然只顯示第二次的的值 你可以改成。賦值。賦值。不明白你的意思!你給賦了當然在後面都列印femail了,賦值 賦值 為什麼同是列印兩個同樣的值。你改成這樣就列印不同的值了,program zhou new program 例項化物件。你只是例項化一個物件然後... 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,編譯... 冰雨vs冰霜 a b 是賦值 a b 是等號 這是新手長犯錯誤 c語言中經常犯的毛病!初學者必看!c 語言的最大特點是 功能強 使用方便靈活。c編譯的程式對語法檢查並不象其它高階語言那麼嚴格,這就給程式設計人員留下 靈活的餘地 但還是由於這個靈活給程式的除錯帶來了許多不便,尤其對初學c語言的人來說,...關於C 列舉的簡單問題 關於C 裡面的列舉問題
關於C 的問題,關於C 的一個問題
關於C語言的問題,求教,一個關於C語言的問題,求教!!