题解 | #取近似值#

取近似值

https://www.nowcoder.com/practice/3ab09737afb645cc82c35d56a5ce802a


#include "bits/stdc++.h"
using namespace std;



int main() {
    string a;
    while (cin >> a) {
        int i = 0, dec=0;
        for (; i < a.size(); ++i) {
            if (a[i] == '.') {
                dec = i;
                break;
            }
        }
        int num = a[i+1] - '0';

        if (num >= 5) {
            i -= 1;
            
            while (i>= 0 && a[i] + 1 > '9') {
                i-=1;
            }

            if (a[i] + 1 > '9') {
                a = "1" + a.substr(0, dec+1);
                cout << a.substr(0, dec+1) << endl;
            } else {
                a[i] += 1;
                cout << a.substr(0, dec) << endl;
            }
            
        } else {
            cout << a.substr(0, dec) << endl;
        }


        
        
        
    }

}

四舍五入:

转化为字符串操作,可以处理任意长度的浮点数。

#美团求职进展汇总##国央企薪资爆料#
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务