#include<stdio.h> int al = 0, bl = 0; char in[5010], a[5010], b[5010]; void read(char *x, int *l) { char c = 0; *l = 0; while(c!='\n') { // printf("."); scanf("%c", &c); in[*l] = c; (*l)++; } (*l)--; for(int i = 0; i < (*l); i++) { x[i] = in[(*l) - i - 1]; } } int main() { for(int i = 0; i < 5010; i++) { a[i] = b[i] = '0'; } read(a, &al); read(b, &bl); int s = 0, r = 0; int maxl = (al > bl ? al : bl); for(int i = 0; i < maxl; i++) { s = (a[i] - '0') + (b[i] - '0') + r; // printf ("%i ", s); r = s / 10; s = s % 10; a[i] = s + '0'; } // printf("\n\n"); if (r == 1) { printf("1"); } for(int i = 0; i < maxl; i++) { printf("%c", a[maxl - i - 1]); } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include<stdio.h> int al = 0, bl = 0; char in[5010], a[5010], b[5010]; void read(char *x, int *l) { char c = 0; *l = 0; while(c!='\n') { // printf("."); scanf("%c", &c); in[*l] = c; (*l)++; } (*l)--; for(int i = 0; i < (*l); i++) { x[i] = in[(*l) - i - 1]; } } int main() { for(int i = 0; i < 5010; i++) { a[i] = b[i] = '0'; } read(a, &al); read(b, &bl); int s = 0, r = 0; int maxl = (al > bl ? al : bl); for(int i = 0; i < maxl; i++) { s = (a[i] - '0') + (b[i] - '0') + r; // printf ("%i ", s); r = s / 10; s = s % 10; a[i] = s + '0'; } // printf("\n\n"); if (r == 1) { printf("1"); } for(int i = 0; i < maxl; i++) { printf("%c", a[maxl - i - 1]); } return 0; } |