1 条题解
-
0
C
说明
本题要求读取一个浮点数,并保留3位小数输出。核心逻辑是利用C语言的格式化输出功能,通过格式控制符指定小数位数。具体来说:
- 使用
printf函数的%.3f格式控制符,可将浮点数按保留3位小数的形式输出。 - 该格式会自动对第四位小数进行四舍五入(如输入12.34521,第四位是2,小于5,故保留三位为12.345)。
整个过程仅涉及一次输入和一次格式化输出,时间复杂度为O(1)(常数级)。
代码
#include <stdio.h> int main() { double x; // 读取浮点数(double类型可处理更大范围的浮点数) scanf("%lf", &x); // 输出保留3位小数的浮点数,%.3f是指定格式 printf("%.3f\n", x); return 0; }C语言拓展知识
推荐搜索:printf函数的浮点数格式控制符(%f、%lf的区别)、浮点数四舍五入的具体规则(如何处理第四位小数为5的情况)、double与float类型的精度差异。
C++
说明
本题与C语言解法目标一致,均为保留3位小数输出浮点数。C++通过
cout结合fixed和setprecision操纵符实现,相比C语言的printf,语法上更强调“操纵符”的使用,但功能相同,均会自动四舍五入。新知识
- 浮点数格式化输出:
- 术语:
fixed和setprecision(3)(来自库) - 解释:
fixed用于指定浮点数以固定小数位数形式输出;setprecision(3)用于设置小数位数为3位,两者结合可实现保留3位小数的效果。 - 对比:C语言用
printf("%.3f", x)直接在格式字符串中指定;C++需通过cout << fixed << setprecision(3) << x的操纵符组合实现,结构更清晰。
- 术语:
AC
#include <bits/stdc++.h> using namespace std; int main() { double x; // 读取浮点数(double类型兼容大范围输入) cin >> x; // fixed + setprecision(3) 组合实现保留3位小数输出 cout << fixed << setprecision(3) << x << endl; return 0; }C++拓展知识
推荐搜索:C++中
iomanip库的常用操纵符(如setw控制宽度、setfill填充字符)、fixed与setprecision的配合原理、浮点数在内存中的存储方式对输出精度的影响。 - 使用
- 1
信息
- ID
- 191
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 6
- 标签
- 递交数
- 190
- 已通过
- 53
- 上传者