高精度加法

来源:互联网 发布:java编程工具 知乎 编辑:程序博客网 时间:2024/05/18 02:26

高精度加法

C语言版

#include<stdio.h>#include<string.h>void high_accuracy(char *a,char *b){    int m,n,i=0,p=0;    char c[1001];    m=strlen(a)-1; n=strlen(b)-1;    for(i=0;m>=0||n>=0;i++,m--,n--){        if(m>=0&&n>=0) c[i]=a[m]+b[n]-'0'+p;        if(m>=0&&n<0) c[i]=a[m]+p;        if(m<0&&n>=0) c[i]=b[n]+p;        p=0;        if(c[i]>'9') {            c[i]=c[i]-10;            p=1;        }    }    if(p==1) printf("1");    while(i--){        printf("%c",c[i]);    }}int main(){    char a[1000]={'\0'},b[1000]={'\0'};    scanf("%s %s",a,b);    high_accuracy(a,b);    return 0;}
0 0