您那題可以說是標準模式 (有上過正統程式設計老師都會這樣教/寫)
在
迴圈外先執行一次
printf("Enter next score (negative to quit ) : ");
scanf("%f",&score);
做輸入
接著迴圈內在執行同樣的 "輸入"
因為外面已經執行一次 有效的輸入 (也就是符合 score >= 0 之輸入)
所以 i=1,代表 有效輸入 之次數為一份
個人的寫法好處很明顯
少寫一次
printf("Enter next score (negative to quit ) : ");
scanf("%f",&score);
編譯出來的執行檔體積就會比較小
建議寫作程式設計
因為大部分'玩'家不會真的比照學校教的 畫出流程圖
所以要養成 寫上除錯的顯示 之程式碼 的習慣
比如
printf("%dEnter next score (negative to quit ) : ", i);
這樣您就會了解問題所在
|