讨论中29行改进代码 解决5.3+5.6=0.9的问题

浮点数加法

http://www.nowcoder.com/questionTerminal/ddec753f446e4ba4944e35378ba635c8

#include <iostream>
#include <cstdio>
#include <string>

using namespace std;
int main(){
    string f1,f2;
    while(getline(cin,f1)){
        getline(cin,f2);
        int pos1=f1.find('.');
        int pos2=f2.find('.');
        if(pos1>pos2){
            f2.insert(0,pos1-pos2,'0');
        }else{
            f1.insert(0,pos2-pos1,'0');
        }
        if(f1.length()>f2.length()){
            f2.insert(f2.length(),f1.length()-f2.length(),'0');
        } else{
            f1.insert(f1.length(),f2.length()-f1.length(),'0');
        }
        int a=0;
        for(int i=f1.length()-1;i>=0;--i){
            if(f1[i]=='.')  continue;
            f1[i]+=f2[i]-'0'+a;
            a=(f1[i]-'0')/10;
            f1[i]=(f1[i]-'0')%10+'0';
        }
        if (a != 0) {
          f1.insert(0, 1, '1');
        }
        cout<<f1<<endl;
    } 
    return 0;
}

全部评论
最后应该不是f1.insert(0, 1, '1');,而是f1.insert(0, 1, '0' + a);
点赞 回复 分享
发布于 2023-08-04 19:45 湖北

相关推荐

04-30 21:35
已编辑
长安大学 C++
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
18
1
分享

创作者周榜

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