题解 | #高精度整数加法#

高精度整数加法

http://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6

#include<stdio.h>
int add(char c1,char c2,int extra,char*str){
    int ex=0,a=c1-'0',b=c2-'0',res=a+b+extra;
    if(res>=10){
        ex=1;
        res-=10;
    }
    *str=res+'0';
    return ex;
}
int main(){
    char str1[10001],str2[10001],str[10001];
    while(~scanf("%s%s",str1,str2)){
        int i=0,j=0,k=0;
        while(str1[i+1])i++;
        while(str2[j+1])j++;
        int ex=0;
        while(i>-1||j>-1){
            ex=add(i>-1?str1[i--]:'0',j>-1?str2[j--]:'0',ex,str+k);
            k++;
        }
        if(ex)str[k++]='1';
        while(--k)printf("%c",str[k]);
        printf("%c\n",str[0]);
    }
}
全部评论

相关推荐

把球:这个听过,你加了就会发现是字节的hr
点赞 评论 收藏
分享
11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务