80分,4号测试点wa,求大佬

P1601 A+B Problem(高精)

~~高精度?~~ 高精好像不能考虑负数
by Core @ 2018-11-10 09:44:10


然而不用考虑负数 我失了智了。 撤销以上
by Core @ 2018-11-10 09:44:40


我知道了,考虑一下万一答案就是0
by Core @ 2018-11-10 09:45:51


@[树人先生](/space/show?uid=100022)
by Core @ 2018-11-10 09:46:03


@[Core](/space/show?uid=111502) 谢谢dalao过了
by 树人先生 @ 2018-11-10 10:05:15


#include <stdio.h> int A[550] = {0}, B[550] = {0}, C[550] = {0}; void voi_swap_int(int &a, int &b) { int p = a; a = b; b = p; } int main() { char c; int la = 0, lb = 0, l; while (scanf("%c", &c) == 1 && c && c != '\n' && c != '\r' && c != ' ') { A[la++] = c - '0'; } while (scanf("%c", &c) == 1 && c && c != '\n' && c != '\r' && c != ' ') { B[lb++] = c - '0'; } for (int i = la / 2; i >= 0; i--) { voi_swap_int(A[i], A[la - 1 - i]); } for (int i = lb / 2; i >= 0; i--) { voi_swap_int(B[i], B[lb - 1 - i]); } l = la >= lb ? la : lb; for (int i = 0; i < l; i++) { C[i] += A[i] + B[i]; C[i + 1] += C[i] / 10; C[i] %= 10; } if (C[l]) { l++; } while (l--) { printf("%d", C[l]); } printf("\n"); return 0; } //求dalao,只有第四个测试点过了
by myee @ 2019-01-28 18:24:58


|