#include <cstdio> #include <iostream> using namespace std; int main() { string a, b; while (cin >> a >> b) { // 注意 while 处理多个 case char list_a[1000] ; char list_b[1000] ; int list_c[1000] ; for (int i = 0; i < 1000; i++) { list_a[i] = 'o'; list_b[i] = 'o'; list_c[i] = -1; } int i_a, i_b; for (int i = 0; i < a.length(); i++) if (a[i] == '.') i_a = i; for (int i = 0; i < b.length(); i++) if (b[i] == '.') i_b = i; //数组下标500作为小数点对齐,之后从后往前依次相加 for (int i = 0; i < a.length(); i++) list_a[500 - i_a + i] = a[i]; for (int i = 0; i < b.length(); i++) list_b[500 - i_b + i] = b[i]; int j = 0; for (int i = 999; i >= 0; i--) { if (list_a[i] != 'o' && list_b[i] != 'o') { list_c[i] = (list_a[i] + list_b[i] - '0' - '0' + j) % 10; j = (list_a[i] + list_b[i] - '0' - '0' + j) / 10; } if (list_a[i] == 'o' && list_b[i] != 'o') { list_c[i] = list_b[i] - '0' + j; j = 0; } if (list_b[i] == 'o' && list_a[i] != 'o') { list_c[i] = list_a[i] - '0' + j; j = 0; } if (i == 501) i--; } for (int i = 0; i < 1000; i++) { if (list_c[i] != -1) printf("%d", list_c[i]); if (i == 500) printf("."); } } } // 64 位输出请用 printf("%lld")