栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

(C++)基础语法之四舍五入——基础巩固

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(C++)基础语法之四舍五入——基础巩固

重新去看那些初学时被忽略的知识点,发现自己不会的还有很多很多,故此记了些原来没有想过的点。

描述

将浮点数转换为整数类型,要求四舍五入。

输入描述:

随机输入的浮点数

输出描述:

四舍五入之后的整数

示例1

输入:

14.99

复制输出:

15

这是牛客网上的一道基础题, 基础不代表简单,只是代表它所需要的前提知识较少。

下面是C++的源代码:

#include 
using namespace std;

int main() {

    double d;
    cin >> d;
    int a = int(d);
    double b = d-a;
    if(b>=0.5){
        a++;
    }
    if(b<=-0.5){
        a--;
    }
    cout<

解析:

        这道题看似简单,先分正负,再进行判断。但仔细一想,这道题非常值得去反复琢磨。

之所以将这一篇作为这个分类的第一篇:

为的就是告诉初学者们:

不要再用数学的角度看待问题,尝试用数据,字符的方式去看待问题,以计算机的方式去思考题目。                                

这样的思路重要到,你未来3-6个月内所有做不出来的coding题目,十有八九都是此类错误。表现为:拿到题目很懵逼,一看答案,这么简单。

四舍五入同样要对数值串进行分类,一种为正,一种为负。

由于int自动转型为截取模式,无论正负都会自动取小数点之前的,表现为正数截取后比原来小,负数被截取后比原来更大:

                                        17.88——17

                                        -17.88——  -17

因此可以将一个带有小数点的数值分为两部分:

 当数值为正时,只要进行判断b的值是否>=0.5。

 当数值为负时,由于负值Int转型后,新的数会比原来的数更靠近0,因此比原来更大。

由于公式:

                总值 = a + b;   此时由于a增加,因此b要减少

那么对这个浮点数b的判断就是,b是否<=0.5;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/528968.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号