[問題] 有關一題陣列的問題???

看板C_and_CPP (C/C++)作者 (千里之外)時間16年前 (2010/06/02 13:48), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 這是一題入未定個數的資料到陣列裡的題目 程式碼如下(求成績平均): #include <stdio.h> #include <stdlib.h> #define MAX 10 int main(void) { int score[MAX]; int i=0,num; int sum=0; printf("請輸入成績,要結束時請按0:\n"); do { printf("請輸入成績:"); scanf("%d",&score[i]); }while(score[i++]>0); num=i-1; for(i=0;i<num;i++) sum=sum+score[i]; printf("平均成績為 %.2f\n",(float)sum/num); system("pause"); return 0; } 假設輸入4個成績70、80、90、60,平均為75.00 由於最後為了結束按了0,所以num=i-1,到這邊我能理解!! 可是為什麼這時的i=5 ?? i=0開始,輸入次數為(4+1)次,i應該等於4才是呀??? 為什麼最後又變i+1=5呢??? 希望得到的正確結果: 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) dev-c++ 有問題的code: (請善用置底文標色功能) 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.97.109

06/02 13:53, , 1F
score[4]=0,而i又加1
06/02 13:53, 1F
文章代碼(AID): #1C1V34GP (C_and_CPP)
文章代碼(AID): #1C1V34GP (C_and_CPP)