ZJANS

d561. 被秒殺的四捨五入

Medium Last Update: 2026/01/21
cpp

解法一

✅ 完整代碼

評分結果(參考) : AC (2ms, 304KB)

#include<bits/stdc++.h>
#define int long long
using namespace std;

int s2i(string& s, int idx){
    int res = 0;
    
    for(; idx<s.size(); idx++){
        if(s[idx] == '.') break;
        res = 10*res + (s[idx]-'0');
    }
    idx++;
    
    for(int k=0; k<2; k++){
        if(idx >= s.size()) res = 10*res;
        else res = 10*res + (s[idx]-'0');
        idx++;
    }
    
    if(idx<s.size() && s[idx]>='5') res++;
    return res;
}

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    
    string line;
    while(cin >> line){
        bool b = (line[0]=='-');
        int num = s2i(line, b?1:0);
        
        if(b && num!=0) cout << "-";
        cout << num/100 << "." << num/10%10 << num%10 << "\n";
    }
    
    return 0;
}