int printf(char* format, ...); int getchar(); void read(int* a) { a[0] = 0; while (1) { int c = getchar(); if (c == '\n' || c == -1) { break; } if (c >= '0' && c <= '9') { a[++a[0]] = c - '0'; } } for (int j = 1; j <= a[0] / 2; j++) { int temp = a[j]; a[j] = a[a[0] - j + 1]; a[a[0] - j + 1] = temp; } } void write(int* a) { int n = a[0]; for (int i = n; i > 0; --i) { printf("%d", a[i]); } printf("\n"); } void add(int* a, int* b) { int n = a[0] > b[0] ? a[0] : b[0]; int carry = 0; for (int i = 1; i <= n; i++) { int sum = a[i] + b[i] + carry; a[i] = sum % 10; carry = sum / 10; } if (carry) { a[n + 1] = carry; a[0] = n + 1; } else { a[0] = n; } } int main() { int a[100]; int b[100]; read(a); read(b); add(a, b); write(a); }