题解 | #实现四舍五入#
实现四舍五入
http://www.nowcoder.com/practice/020a0cf673174d5795d97ae79cff59a0
- 第一种方法:先将小数分为正负两部分,正:将整数+1和小数+0.5比较,整数加1大则说明小数不够进1,返回整数,若小数+0.5较大,则说明小数够进1,返回整数加1.
using namespace std;
int main() {
double d;
cin >> d;
// write your code here......
int a;
a=d;
if(d>0)
{
if(d+0.5>=a+1)
cout<<a+1;
else
cout<<a;
}
else
{
if(d-0.5<=a-1)
cout<<a-1;
else
cout<<a;
}
return 0;
}
- 方法二:统一考虑正负,不再单独考虑,然后统一判断整数和小数之间的差是否大于0.5,若大于,则满足进位,否则不满足进位,然后根据正负进行处理
using namespace std;
#include<math.h>
int main() {
double d;
cin >> d;
// write your code here......
int a;
a=d;
if(fabs(a-d)>0.5)
{
cout<<(d>0?a+1:a-1)<<endl;
}
else
cout<<a<<endl;
return 0;
}