1 条题解
-
0
C++ 请尝试C or Python, C++输出为 1.234568e+01 避坑!!!避坑!!!避坑!!!
核心逻辑
需按四种格式输出双精度浮点数,关键是理解每种格式的规则:
- %f:默认保留6位小数,自动四舍五入;
- %f(保留5位小数):指定保留5位小数,四舍五入;
- %e:科学计数法,默认保留6位有效数字,指数部分带符号(如
1.234568e+001); - %g:自动保留6位有效数字,去除尾部无意义的零,不显示多余小数。
代码实现
C
#include <stdio.h> int main() { double x; scanf("%lf", &x); // 读取双精度浮点数(%lf对应double) // 按四种格式依次输出,各占一行 printf("%f\n", x); // 1. 默认%f(6位小数) printf("%.5f\n", x); // 2. %f保留5位小数 printf("%e\n", x); // 3. %e(科学计数法) printf("%g\n", x); // 4. %g(自动去尾零,6位有效数字) return 0; }C++
请尝试C or Python, C++输出为 1.234568e+01
避坑!!!避坑!!!避坑!!!
Python
x = float(input()) # 读取双精度浮点数(Python float本质是双精度) # 1. %f格式(默认6位小数) print("{0:f}".format(x)) # 2. %f保留5位小数 print("{0:.5f}".format(x)) # 3. %e格式(科学计数法,6位有效数字) print("{0:e}".format(x)) # 4. %g格式(自动去尾零,6位有效数字) print("{0:g}".format(x))验证(样例输入
12.3456789)格式 计算过程 输出结果 %f(6位小数) 12.3456789 四舍五入到6位小数 12.345679 %.5f(5位) 12.3456789 四舍五入到5位小数 12.34568 %e(科学计数) 6位有效数字,科学计数法表示 1.234568e+001(C++为1.234568e+01) %g(去尾零) 6位有效数字,去除尾部零 12.3457 所有输出均与样例一致,符合格式要求。
- 1
信息
- ID
- 453
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 21
- 已通过
- 10
- 上传者