[問題] C語言 陣列問題

看板C_and_CPP (C/C++)作者 (可惡~想揉)時間15年前 (2011/06/20 23:54), 編輯推噓2(206)
留言8則, 6人參與, 最新討論串1/1
#include <stdio.h> #define NUM 5 int main(void) { int test[NUM]; int tmp; int i,j,s,t; printf("請輸入%d個學生的分數 . \n", NUM); for(i=0; i<NUM; i++){ scanf("%d", &test[i]); } for(s=0; s<NUM-1; s++){ for(t=s+1; t<NUM; t++){ if(test[t]> test[s]){ tmp = test[t]; test[t] = test[s]; test[s] = tmp; } } } for(j=0; j<NUM; j++){ printf("%d號學生的成績為%d分 . \n", j+1 , test[j]); } system("PAUSE"); return 0; } ..................................... 小弟對於整個程式碼很茫然 for(s=0; s<NUM-1; s++){ for(t=s+1; t<NUM; t++){ if(test[t]> test[s]){ tmp = test[t]; test[t] = test[s]; test[s] = tmp; 即使配和書本還是不懂 為啥會自動把成績由大到小排序~~ 請高手救命! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.86.142

06/21 00:02, , 1F
這應該是排序問題, 書本上應該有寫這是啥演算法吧...
06/21 00:02, 1F

06/21 00:04, , 2F
這不就是雙重迴圈比大小,互換位置而已嗎....自己把值填進
06/21 00:04, 2F

06/21 00:04, , 3F
去就知道程式碼在幹嘛了
06/21 00:04, 3F

06/21 00:06, , 4F
Bubble tea
06/21 00:06, 4F

06/21 00:22, , 5F
他應該是select sort吧
06/21 00:22, 5F

06/21 01:29, , 6F
selection sort
06/21 01:29, 6F

06/21 08:40, , 7F
select sort +1
06/21 08:40, 7F

06/21 09:28, , 8F
我一直以為這也是bubble
06/21 09:28, 8F
文章代碼(AID): #1D_sqrmu (C_and_CPP)
文章代碼(AID): #1D_sqrmu (C_and_CPP)