高精度加法
![]()
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int LEN = 200 + 1;
int a[LEN], b[LEN], c[LEN];
char s1[LEN], s2[LEN];
int main() {
scanf("%s%s", s1, s2);
a[0] = strlen(s1), b[0] = strlen(s2);
c[0] = max(a[0], b[0]) + 1;
for(int i = 0; i < a[0]; i++) a[i + 1] = s1[a[0] - i - 1] - '0';
for(int i = 0; i < b[0]; i++) b[i + 1] = s2[b[0] - i - 1] - '0';
int x = 0;
for(int i = 1; i <= c[0]; i++) {
c[i] = a[i] + b[i] + x;
x = c[i] / 10;
c[i] %= 10;
}
while(c[c[0]] == 0 && c[0] > 1) c[0]--;
for(int i = c[0]; i >= 1; i--) putchar(c[i] + '0');
}
View Code