大数运算

#include<stdio.h>
#include<string.h>

#define MAX_LEN 200
int an1[MAX_LEN+10]={0},an2[MAX_LEN+10]={0};
char szLine1[MAX_LEN+10],szLine2[MAX_LEN+10];
int main()
{
    int i=0,j=0,nLen1=0,nLen2=0; bool bStartOutput=false;
    scanf("%s",szLine1); nLen1=strlen(szLine1);    
    scanf("%s",szLine2); nLen2=strlen(szLine2);
    for(i=nLen1-1; i>=0; i--) an1[j++] = szLine1[i]-'0';
    for(i=nLen2-1,j=0; i>=0; i--) an2[j++] = szLine2[i]-'0';
    for(i=0; i<MAX_LEN; i++){
        an1[i] += an2[i];
        if(an1[i]>=10) { an1[i] -= 10; an1[i+1]++; }
    }
    for(i=MAX_LEN; i>=0; i--){
        if(bStartOutput) printf("%d",an1[i]);
        else if(an1[i]){ printf("%d",an1[i]); bStartOutput = true; }
    }
    return 0;
}

 

posted @ 2021-03-09 15:23  esico  阅读(57)  评论(0)    收藏  举报