#include <stdio.h> #include <math.h> int cal(int a, int b) { if (b) while ((b %= a) && (a %= b)); return a + b; } int main() { int a1, a2, b1, b2; char op; while (scanf("%d/%d%c%d/%d", &a1, &a2, &op, &b1, &b2) != EOF) { int a, b; if (op == '+') { if (b2 == a2) { a = a1 + b1; b = a2; } else { a = a1 * b2 + b1 * a2; b = a2 * b2; } } else { if (b2 == a2) { a = a1 - b1; b = a2; } else { a = a1 * b2 - b1 * a2; b = a2 * b2; } } if (a == 0) printf("0\n"); else { int lol = cal(abs(a), b); // abs防止负号在后面 a /= lol; b /= lol; if (b == 1) printf("%d\n", a); else printf("%d/%d\n", a, b); } } return 0; } |
Double click to view unformatted code.