#11
|
||||
|
||||
引用:
還有,這個整本是英文的?看起來會不會很難懂啊?有沒有中文翻譯本? 讓我想起大一時唸的微積分,整本是英文的,就註定了被當的命運。 當然數學一向很爛才是主因吧。 我剛才跑一下您寫的C,然後又將這段 代碼:
for(x=0;x<20;x++){ mode=stats[x]; //這裡應該是要針對每個input去計算應該是每次循環 count = 0; //還沒開始算應該是0不是1,但大家起點相同期實不影響,只是邏輯問題 //count the occurrences of this value. for(y=0;y<20;y++) //y=x+1會導致前面的沒有算到,count值會錯誤 if(mode==stats[y]) count++; 代碼:
for(x=0;x<20;x++){ mode=stats[x]; //這裡應該是要針對每個input去計算應該是每次循環 count = 0; //還沒開始算應該是0不是1,但大家起點相同期實不影響,只是邏輯問題 //count the occurrences of this value. for(y=x+1;y<20;y++) //y=x+1會導致前面的沒有算到,count值會錯誤 if(mode==stats[y]) count++; 我是因為在推這段文字的過程,覺得既然前面 for(x=0;x<20;x++){ mode=stats[x]; 應該就是先將該陣列的第一元素state[0]假定為眾數先, 因此再下來的依次比較,似乎要從第二個,也就是for(y=x+1;y<20;y++) 開始去比較,如此一旦if(mode==stats[y]) 就是if(mode==stats[x+1]),第二個元素如果數字等於第一個的話,則count++。應該從第二個比起。 您寫的那個其實是從第一個比起,等於自己比自己,多了一道手續,但基本上結果都是對的。 我這樣推論,不知是否正確? thanks |
#12
|
|||
|
|||
引用:
|