1 条题解
-
0
C
说明
本题要求读取一个浮点数,并保留12位小数输出。核心逻辑是利用格式化输出功能指定小数位数,同时自动处理四舍五入(如样例中输入的第13位小数为7,大于5,故第12位小数进1)。
使用double类型存储输入的浮点数(可处理更大范围和更高精度),通过printf的%.12f格式控制符实现保留12位小数的输出,时间复杂度为O(1)。代码
#include <stdio.h> int main() { double x; // 读取浮点数(double类型用%lf格式) scanf("%lf", &x); // 输出保留12位小数的浮点数,%.12f指定格式 printf("%.12f\n", x); return 0; }C语言拓展知识
推荐搜索:printf中
%.12f的四舍五入规则(如何处理第13位小数)、double类型的精度范围(最多可表示多少位有效数字)、浮点数在内存中的存储对输出精度的影响。C++
说明
本题与C语言解法目标一致,均为保留12位小数输出浮点数。C++通过
fixed和setprecision(12)组合控制输出精度,其中fixed指定固定小数位数模式,setprecision(12)设置小数位数为12,自动完成四舍五入,代码简洁且格式控制清晰。新知识
- 高精度小数输出:
- 术语:
setprecision(12)在fixed模式下的应用 - 解释:当
fixed生效时,setprecision(n)精确控制小数部分的位数为n。本题中n=12,即输出结果保留12位小数,第13位小数会触发四舍五入(如样例中第13位为7,第12位进1)。 - 对比:C语言需在格式字符串中写
%.12f;C++通过操纵符组合实现,更便于动态调整精度(如将12改为变量)。
- 术语:
AC
#include <bits/stdc++.h> using namespace std; int main() { double x; // 读取浮点数(double类型直接用cin读取) cin >> x; // fixed + setprecision(12) 保留12位小数并四舍五入 cout << fixed << setprecision(12) << x << endl; return 0; }C++拓展知识
推荐搜索:
setprecision在不同模式(fixed/默认)下的行为差异、double类型能可靠表示的小数位数上限、C++浮点数输出的 rounding mode(四舍五入模式)设置方法。 - 高精度小数输出:
- 1
信息
- ID
- 225
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 118
- 已通过
- 49
- 上传者