[ACM ] 10341 cout.precision和.4lf的問題

看板C_and_CPP作者 (Xen)時間16年前 (2010/02/25 01:01), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
題號:10341 遇到的問題:同樣的code用cout.precision(4) http://gist.github.com/313613這樣會WA 但是用printf("%.4lf", mid+1e-8)就會AC 為什麼咧找API也看不出其中的歧異 兩者手動測試印出來結果都一樣啊QQ 有問題的code: cout << mid+1e-8 << "\n"; printf("%.4lf\n", mid+1e-8); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.212.103

02/25 03:12, , 1F
你mid把它設成1234.1234
02/25 03:12, 1F

02/25 07:52, , 2F
cout << fixed << setprecision(4) << mid << "\n";
02/25 07:52, 2F

02/25 07:53, , 3F
改這一行AC,記得#include <iomanip>
02/25 07:53, 3F

02/25 09:05, , 4F
設定fixed之後,才能確保印出來的數字不是科學記號。
02/25 09:05, 4F

02/25 09:06, , 5F
沒有設定fixed的情況下,數字太長時,輸出會自動變成科學記號
02/25 09:06, 5F

02/25 17:18, , 6F
原來是這樣 我都忽略了!!
02/25 17:18, 6F
文章代碼(AID): #1BXLjOS7 (C_and_CPP)