大数加法
原理是字符串,设置好进位规则,不复杂 #include#include #include int main() { char ags[1001] = { 0 }, bgm[1001] = { 0 }, at4[1002] = { 0 }; int i, j, k; //for (i = 0; i < 1000; i++) // ags[i] = bgm[i] = 0; scanf("%s %s", ags, bgm); i = strlen(ags); j = strlen(bgm); int aisb = i > j ? i : j; for (k=1001; 1001-k<=aisb ;k--) { if (at4[k] == 0) { if (i >= 0) at4[k] += ags[i--]; if (j >= 0) at4[k] += bgm[j--]; if (at4[k]>'9') at4[k] -= 48; } else { if (i >= 0) at4[k] += ags[i--]-48; if (j >= 0) at4[k] += bgm[j--] - 48; } if (at4[k] > '9') { at4[k] -= 10; if (k == 0) exit(123456789); else if (at4[k - 1] == 0) at4[k - 1] += 49; else at4[k - 1]++; } } for (; k < 1002; k++) if (at4[k] == 0) continue; else printf("%c", at4[k]); return 0; }