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

高精度整数加法

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]);
    }
}
全部评论

相关推荐

我是小红是我:学校换成中南
点赞 评论 收藏
分享
勇敢的联想人前程似锦:如果我是你,身体素质好我会去参军,然后走士兵计划考研211只需要200多分。
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务