测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看
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
里程碑达成:

下一节用递推输出等差数列、等比数列。