题解 | #实现四舍五入#

实现四舍五入

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

#include <stdio.h>

int main()
{
    int a;
    float b;
    scanf("%f",&b);
    /*  简单理解思路:  */ 
    /*
        浮点数转换成整形,向左取整(也就是去掉小数部分,保留整数)
        四舍五入:这个题有点坑,还要比较负数
        如果是整数肯定是小数部分大于0.5的取整,小于0.5的舍弃,利用转换特性可实现
        即:加0.5即可,如:11.2 加0.5后变为11.7转换后还是11;
                           9.8 加0.5后变为10.3转换后为10;
                          一种极限特例:20.5加0.5后变为21.0转换后为21;

                 如果是负数再加0.5则会:
                      假设是-11.2  加0.5后变为-10.7四舍五入后为-10没问题,但如果是-11.7着变成 -11.2四舍五入后变成-11,按理说-11.7应该变成-12(带负号后数字越大,数值越小)
                 故如果是负数:则减0.5
    */
  
  /* 直接比较 */
    // if(b > 0)  
    //  a = (b+0.5);
    //  else 
    //   a = (b - 0.5);
  
  
  /* 三目运算实现 */
    if(b > 0)
    {
        a = (b+0.5);
        a = a>b?a:b;
    }
    else 
    {
         a = (b - 0.5);
         a = a<b?a:b;
    }

    printf("%d\r\n",a);
    return 0;
}

#C语言基础练习#
C语言之旅 文章被收录于专栏

时光不负,未来可期。

全部评论

相关推荐

03-29 17:05
门头沟学院 Java
asdasdasda...:我前段时间找工作焦虑,有几天连续熬夜熬穿了,然后心脏突然不舒服,立马躺床上睡觉了,然后第二天还是不舒服,去看医生说是心率不齐,吓得我后面天天早早睡觉,调养身体,过了好几天才好过来。所以真的,工作这些东西哪有那么重要,最多钱多一点钱少一点,降低物欲。活着才是最重要的,现在想想真的后怕
如何排解工作中的焦虑
点赞 评论 收藏
分享
xiaowl:1. 技能堆叠没有意义,精简下,而且里面的精通、熟练等内容,其实经不起推敲,这里可以简单写清楚你在前端、后端等领域,有哪些你自己比较经验丰富熟练的技能,以及哪些有过一定涉猎,做一定区分度 2. 项目方案有些单薄,但是这个项目本身还是有很多挑战点的,你应该思考下对于里面有难题的挑战点,你是怎么解决的,避免泛泛而谈。比如,多人编辑是一个老大难问题,包括了互斥、协作等,这里可以详细讲一讲你怎么设计解决问题的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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