#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 或类型读错了。