#t223. 输出绝对值
输出绝对值
输出绝对值
题目描述
输入一个浮点数,输出这个浮点数的绝对值。
输入格式
输入一个浮点数,其绝对值不超过 10000。
输出格式
输出这个浮点数的绝对值,保留到小数点后两位。
样例输入
-3.14
样例输出
3.14
提示
一、绝对值:整数用 abs,小数用 fabs
| 类型 | 函数 | 头文件 | 例子 |
|---|---|---|---|
int |
abs(x) |
<cstdlib> |
abs(-5) = 5 |
double |
fabs(x) |
<cmath> |
fabs(-2.5) = 2.5 |
用万能头 #include <bits/stdc++.h> 时两个都能直接用。
二、用错了会怎样
把 double 传给 abs,参数会被截断成整数再取绝对值:
printf("%.2f\n", abs(-2.7)); // 2.00,小数部分没了
而把 int 传给 fabs 通常没事(会自动转 double),但结果是小数字符串。
三、不用函数也能写
double x = -2.5;
if (x < 0) x = -x; // 负数取反
这种写法在只需要处理一次时更直观,也避免记混函数名。
四、常见错误
-
double用abs→ 小数被吃掉; -
输出时用
%d打fabs的结果; -
以为
abs能处理long long(要用llabs,或者直接判断正负)。 -
输入可能是负小数,用 double 读,格式符用
%lf。 -
两种写法选一种:if 判断符号后取反,或直接调用浮点绝对值函数。
-
保留两位小数。
自查:用
-3.14 → 3.14验证;如果输出3.00,说明用了整数的 abs 或类型读错了。