輸出格式要求小數點後兩位,但是因為浮點有誤差,如果數值最後面是0.005的時候就有可能出錯。我想到的解決方式是一開始就多乘100,原本最後面是0.005,就會變成0.5,0.5不會有誤差的問題,然後用round()取整數再除100,就可以得到正確答案了。
另外輸出格式的部分,要輸出小數點後兩位,總共6個字,可以用printf或是cout設定。
printf可以在%符號後使用數字代表width,.數字代表precision,所以width為6,precision為2可以使用"%6.2f"。
(參考資料:https://zh.wikipedia.org/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%AD%97%E7%AC%A6%E4%B8%B2,https://www.cplusplus.com/reference/cstdio/printf/?kw=printf)
至於cout可以用fixed和setprecision設定小數點後的位數,setw設定寬度,所以這題可以用cout<<fixed<<setprecision(2)<<setw(6)輸出