本單元語法速查表
| 語法 | 用途 | 範例 |
|---|---|---|
double x; |
宣告浮點數(競程標準選擇) | double x = 0.5; |
long double x; |
更高精度的浮點數 | double 不夠用時 |
cin >> x; cout << x; |
讀寫浮點數 | 與整數用法相同 |
1.5、.5、1.2e3 |
浮點數字面常數(預設 double) | 1.2e3 是 1200 |
cout << fixed << setprecision(k); |
固定印小數點後 k 位 | #include <iomanip> |
cout << defaultfloat; |
恢復預設輸出模式 | 很少用到 |
(double)a / b |
整數相除得到小數 | 先轉型再除 |
sqrt(x)、cbrt(x) |
開平方根/立方根 | #include <cmath> |
floor(x)、ceil(x) |
向下/向上取整(回傳浮點數) | floor(-1.2) 得 -2 |
round(x) |
四捨五入(回傳浮點數) | (long long)round(x) 轉整數 |
abs(x) |
絕對值(cmath 浮點版) | abs(-1.2) 得 1.2 |
(long long)x |
浮點轉整數:小數捨去(向零) | (int)-2.9 得 -2 |
abs(a - b) < EPS |
浮點數的「相等」判斷 | const double EPS = 1e-9; |
(A + B - 1) / B |
正整數的上取整 | 純整數,無誤差 |