题解 | #浮点数加法#

浮点数加法

https://www.nowcoder.com/practice/ddec753f446e4ba4944e35378ba635c8

//这里我先将两个字符串小数点前后补齐到相同的长度,再一一对位相加 (这里记得进位
#include <iostream>
#include<string>
using namespace std;

int main() {
    string a,b;
    string longer,shorter;
    while (getline(cin,a)) { // 注意 while 处理多个 case
        getline(cin,b);

        int find1=a.find('.');
        int find2 = b.find('.');//小数点位置
        if(find1<find2){
            longer = b;
            shorter =a;
        }
        else{
            longer =a;
            shorter = b;
        }//为了方便最高一位进位,在最高位前添加一位
        longer.insert(0,"0");
       do{
           //补全小数点前的0
            shorter.insert(0,"0");
            find1=longer.find('.');
            find2 = shorter.find('.');
        } while(find1!=find2);

        if(longer.size()<shorter.size()){
            swap(longer,shorter);
        }
        while(longer.size()!=shorter.size()){
            shorter.insert(shorter.size(),"0");
		  //补全小数点后的0
        }

        int flag=0;
        for(int i=longer.size()-1;i>=0;i--){
            if(longer[i]=='.') continue;
            int res =(longer[i]-'0')+(shorter[i]-'0')+flag;
            flag=res/10;
            res%=10;
            longer[i]=res+'0';
        }
        if(flag!=0){
            longer[0]=flag+'0';
            cout<<longer;

        }
        else{//没有进位的话直接输出
            cout<<longer.substr(1,longer.size());
        }
    }
}

全部评论

相关推荐

03-26 22:27
已编辑
中南大学 Java
点赞 评论 收藏
分享
吾族血脉,自吾始立铁律:凡我子孙,胆敢研习计算机之术者,当受七窍流血之刑!若见Python之书,必遭雷殛;若触Java代码,定为不孝!键盘鼠标准入族谱秽物录,显示器乃摄魂邪镜祖祠前当立戒碑:"二进制者,断子绝孙之道也!"算法者,乱我族心智之毒也!数据结构,毁我门风之刃也!倘有逆子偷装&nbsp;vscode,即按祖规捆于祠堂梁柱,令其DEBUG至死不得解脱!今颁天条三则:壹)三代血亲不得报考计算机系违者削去辈分,永世称码奴贰)族中幼童须背《戒算经》"if-else咒,switch符,皆是断头术"叁)凡见子侄讨论编程者须即刻砸其电脑,焚其书籍泼黑狗血于键盘之上!太祖母口谕:"吾宁要文盲孙,不要程序员!"尔...
好吃的薯饼:姐妹这不是我们计算机系吧,我们计算机系的都在言情小说里当黑客大佬,各种竞赛拿奖拿到手软,公司系统道路监控随便入侵。身体线条非常优美,挺拔的站姿十分端正,给人以强壮有内涵的感觉。脸庞轮廓深刻,五官分明透露着对太阳底下最光辉的职业的向往和坚定,尤其是那双深邃的眼睛,写满了对代码和计算机系统的热情和无限的活力。我们计算机系是天之骄子、明日之星,人手一个博士学位不然高中电脑老师都当不上。组会的时候,面对导师和同事的疑难问题,也能够回答自如。我们总是把高高的发际线当做荣耀的象征。妈咪这不素我们计算机系吧,集美集帅怎么只会写hello world?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务