B54
取整、四舍五入与整十练习
引入
章前总览 浮点赋给 int 是向下截断(不四舍五入)。要四舍五入到整数可写 a = d + 0.5。整十数则用整数技巧 (a+5)/10*10。
本节要点:
- 截断 ≠ 四舍五入
- 到整数:+0.5 再赋给 int
- 练习:n 个数四舍五入到整十
1 C1. 取整与四舍五入
下一位 <5 舍去,≥5 进位。
常用写法
int a = d;:只留整数部分(向下取整方向的截断)。- 四舍五入到整数:
a = d + 0.5;(正数时)。 cout << fixed << setprecision(k)输出时也会四舍五入。
2 练习:四舍五入到整十数
先读 n,再读 n 个整数;每个数四舍五入到最接近的整十(43→40,58→60)。
参考代码
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
int a;
cin >> a;
cout << (a + 5) / 10 * 10 << endl;
}
return 0;
}
- n 已知 → 明确循环 n 次,适合 for。
- 公式:先加 5 再整除 10,再乘回 10。
小结
记住两组公式:
到整数(正数):(int)(d + 0.5)
到整十: (a + 5) / 10 * 10
✓
里程碑达成:
下一节用递推输出等差数列、等比数列。