题解 | #实现四舍五入#

实现四舍五入

http://www.nowcoder.com/practice/020a0cf673174d5795d97ae79cff59a0

  1. 第一种方法:先将小数分为正负两部分,正:将整数+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;
}
  1. 方法二:统一考虑正负,不再单独考虑,然后统一判断整数和小数之间的差是否大于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;
}
全部评论

相关推荐

07-15 11:35
门头沟学院 Java
心里踏实多了,可以安心准备论文了
看不见我ffgh:牛哇佬,要不要来试一试pdd,部门氛围很好
京东开奖153人在聊
点赞 评论 收藏
分享
05-25 10:45
门头沟学院 Java
Frank_zhan...:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
26
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务