题目分析
- 题目给出我们一个小数
- 我们要根据四舍五入规则对其进行舍入,输出最后舍入后的整数结果
方法一:判断十分位
- 实现思路
-
我们直接将原数字乘10
-
获得个位数字
-
根据个位数字进行四舍五入
-
输出最后的结果
-
#include <iostream>
#include <algorithm>
#include <math.h>
using namespace std;
int main() {
double n;
cin >> n;
int jud = (int)(n * 10)%10; // 获取十分位的值
int res = jud >= 5 ? (int)n + 1 : (int) n; // 判断十分位的值是四舍还是五入
cout << res;
return 0;
}
复杂度分析
- 时间复杂度:,常量级的时间运算就可以判断结果
- 空间复杂度:,常量级的空间占用
方法二:加0.5取整
- 实现思路
- 根据c++的int取整规则,小数取整只保留整数部分,小数部分全部舍去
- 因此如果我们要实现四舍五入的取整效果,只需要在原小数的基础上加0.5,再进行取整,就可以实现四舍五入的最终效果了
#include <iostream>
#include <algorithm>
#include <math.h>
using namespace std;
int main() {
double n;
cin >> n;
cout << int(n+0.5);
}
复杂度分析
- 时间复杂度:,常量级的时间运算就可以判断结果
- 空间复杂度:,常量级的空间占用