题解 | 取近似值
#include <iostream> using namespace std; int main() { double input; while (cin >> input) { // 注意 while 处理多个 case double a = input * 10; int temp = int(a) % 10; // 前两句的目的,提取小数点后的十分位数 // 根据十分位数是否大于等于5, 判断是否向上取整 // 默认强制类型转换是,截取整数部分。 if (temp >= 5) { cout << int(input) + 1 << endl; } else { cout << int(input) << endl; } } return 0; } // 64 位输出请用 printf("%lld")