#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)) { 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; } /* F:\temp\22469859.3389\Main.cc: In function 'int main()': F:\temp\22469859.3389\Main.cc:36: error: 'abs' was not declared in this scope */ |
Double click to view unformatted code.