English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

已經用亂數取20個成績g(0-100分)想要分成0-20 20-40 40-60 60-80 80-100五組並輸出每組個數如果照下面方別寫k=0,1,2,3,4 太煩雜k=0if( (0+20*k<=g) && (g<20+20*(k+1) ) i++;printf("%d",i)如果前面加for(k=0;k<5;k++)請問後面的 i 要怎麼修改成陣列的方式靜態陣列就可以了 謝謝

2006-07-19 17:24:10 · 2 個解答 · 發問者 Anonymous in 電腦與網際網路 程式設計

我這樣寫
for (int k = 0 ; k < 5 ; ++k)
{
if( (0+20*k

2006-07-19 18:40:48 · update #1

2 個解答

int count[5] = {0, 0, 0, 0, 0};
for (int k = 0 ; k < 5 ; ++k)
if( (0+20*k<=g) && (g<20+20*(k+1) ) count[k]++;

count[k]就是那組的個數囉 ^^

2006-07-19 17:39:26 · answer #1 · answered by Blythe 3 · 0 0

for ()
if ()

這2列可合並成:
if (g) count[(g-1)/20]++;
else count[0]++;

而且,執行速度應該會比較快。

2006-07-20 13:01:37 · answer #2 · answered by ? 7 · 0 0

fedest.com, questions and answers