MasssA


私信TA

用户名:1294309339

访问量:34859

签 名:

城市学院的渣渣

等  级
排  名 104
经  验 7930
参赛次数 6
文章发表 73
年  龄 0
在职情况 学生
学  校 城市学院的渣渣
专  业

  自我简介:

城市学院的渣渣

解题思路:

注意事项:

参考代码:

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
    string a,b;
    cin >>a>>b;
    int alen=a.length(),blen=b.length(),aplen=0,bplen=0;  //aplen 小数点前的位数.
    int i,j,aflag=0,bflag=0,ka=0,kb=0;       //ka,kb 小数点后的位数。
    for(i=0;i<alen;i++){
        if(a[i]=='.')
            aflag=1;
        if(a[i]!='.'&&aflag==0)
            aplen++;
        if(aflag==1)
            ka++;
    }
    if(ka>1)
    ka--;
    for(i=0;i<blen;i++){
        if(b[i]=='.')
            bflag=1;
        if(b[i]!='.'&&bflag==0)
            bplen++;
        if(bflag==1)
        kb++;
    }
    if(kb>1)
    kb--;
    if(aplen>bplen){
        for(i=0;i<aplen-bplen;i++)
            b="0"+b;
    }
    else{
        for(i=0;i<bplen-aplen;i++)
            a="0"+a;
    }
    if(ka>kb){
        if(kb==0)      
        b+=".";
        for(i=0;i<ka-kb;i++)
        b+="0";
    }
    else{
        if(ka==0)
        a+=".";
        for(i=0;i<kb-ka;i++)
        a+="0";
    }
    int len=a.length();
    int plen=aplen>bplen?aplen:bplen;     //小数点前 的位数。
    int k=ka>kb?ka:kb;                //小数点后的位数。
    int s[k+1];
    memset(s,0,sizeof(s));
    int w=0;
    for(i=len-1;i>plen;i--,w++){
        s[w]+=(a[i]-'0')+(b[i]-'0');
        if(s[w]>9){
            s[w+1]++;
            s[w]-=10;    
        }
    }
    if(s[w]==0)
    w--;
    int sflag=0;
    
    if(s[k]==0)
        sflag=0;
    else
        sflag=1;
    
    int ss[plen+1];
    memset(ss,0,sizeof(ss));
    int ww=0;
    if(sflag==1)
    ss[ww]+=1;
    
    
    for(i=len-k-2;i>=0;i--,ww++){
        ss[ww]+=(a[i]-'0')+(b[i]-'0');
        if(ss[ww]>9){
            ss[ww+1]++;
            ss[ww]-=10;
        }
    }
    if(ss[ww]==0)
    ww--;
    for(i=ww;i>=0;i--)
    cout <<ss[i];
    if(aflag||bflag)
    cout <<".";
    for(i=k-1;i>=0;i--)
    cout <<s[i];
    return 0;
}

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区