C语言实现大数的加法

#include <stdio.h>
#include <string.h>
#define MAX 200
int a[MAX],b[MAX],c[MAX];
char s1[MAX],s2[MAX];
int main()
{   
    gets(s1);
    gets(s2);
    int lens1,lens2;
    lens1 = strlen(s1);
    lens2 = strlen(s2);
    a[0] = lens1;
    for(int i = 1;i <= lens1;i++){
        a[i] = s1[lens1-i] - '0';
    }
    b[0] = lens2;
    for(int i = 1;i <= lens2;i++){
        b[i] = s2[lens2-i] - '0';
    }
    int i = 0;
    for(i = 1;i <= lens1 || i <= lens2;i++){
        c[i] = c[i] + a[i] + b[i];
        c[i + 1] += c[i] / 10;
        c[i] %= 10;
    }
    while(i >= 1 && c[i] == 0){
        i--;
    }
    c[0] = i;
    for(int j = c[0]; j >= 1;j--){
        printf("%d",c[j]);
    }
    return 0;
}
posted @ 2023-02-28 20:13  Travelever  阅读(51)  评论(0)    收藏  举报