chenyonken 2016-01-31 13:13 采纳率: 0%
浏览 2458
已采纳

如何将两个字符数组里的数字相加得出两组数的和

char a[1000],b[1000]
两个数组里都是数字

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-01-31 13:16
    关注
     void Add(char a[],char b[],char d[])
    {
        char c[10001];
        int lena=strlen(a),lenb=strlen(b);
        int i,j,len;
        len=lena>lenb?lena:lenb;
        len++;
        c[0]='\0';
        for(i=1;i<=len;i++)c[i]='0';
        for(i=1;i<=lena;i++)c[i]+=a[lena-i]-48;
        for(i=1;i<=lenb;i++)c[i]+=b[lenb-i]-48;
        for(i=0;i<=len;i++)
            if(c[i]>57)
        {
                c[i]-=10;
                c[i+1]++;
            }
    
        for(i=len;i>1;i--)
            if(c[i]==48)len--;
            else break;
         for(i=0;i<=len;i++)
            d[i]=c[len-i];
    }
    
    char c[120];
    Add(a,b,c);
    printf("%s", c);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?