2 条题解
-
0
#include<stdio.h>
int main() { int t; char s[100]; int a[100]; while (scanf("%s", s) != EOF) { a[0] = s[0] - '0'; a[2] = s[2] - '0'; a[4] = s[4] - '0'; a[6] = s[6] - '0'; int fm = a[2] * a[6]; int fz1 = a[0] * a[6]; int fz2 = a[4] * a[2]; int fzh = fz1 + fz2; int fzc = fz1 - fz2; if (a[2] == a[6]) { if (s[3] == '+') { int p = a[0] + a[4]; for (int k = p; k >= 1; k--) { if (p % k == 0 && a[2] % k == 0) { p = p / k; a[2] = a[2] / k; break; } } if (a[2] == 1) { printf("%d\n", p); } else { printf("%d/%d\n", p, a[2]); }
} if (s[3] == '-') { if (a[0] == a[4]) { printf("0"); } else if (a[0] > a[4]) { int p = a[0] - a[4]; for (int k = p; k >= 1; k--) { if (p % k == 0 && a[2] % k == 0) { p = p / k; a[2] = a[2] / k; break; } } if (a[2] == 1) { printf("%d\n", p); } else { printf("%d/%d\n", p, a[2]); } } else { int p = a[4] - a[0]; for (int k = p; k >= 1; k--) { if (p % k == 0 && a[2] % k == 0) { p = p / k; a[2] = a[2] / k; break; } } if (a[2] == 1) { printf("%d\n", a[4] - a[0]); } else { printf("-%d/%d\n", a[4] - a[0], a[2]); }
} } } else { if (s[3] == '+') { for (int k = fzh; k >= 1; k--) { if (fzh % k == 0 && fm % k == 0) { fzh = fzh / k; fm = fm / k; break; } } if (fm == 1) { printf("%d\n", fzh); } else { printf("%d/%d\n", fzh, fm); }
} if (s[3] == '-') { if (fzc == 0) { printf("0"); } else if (fzc > 0) { for (int k = fzc; k >= 1; k--) { if (fzc % k == 0 && fm % k == 0) { fzc = fzc / k; fm = fm / k; break; } } if (fm == 1) { printf("%d\n", fzc); } else { printf("%d/%d\n", fzc, fm); } } else if (fzc < 0) { fzc = -fzc; for (int k = fzc; k >= 1; k--) { if (fzc % k == 0 && fm % k == 0) { fzc = fzc / k; fm = fm / k; break; } } if (fm == 1) { printf("-%d\n", fzc); } else { printf("-%d/%d\n", fzc, fm); } } }
}
}
return 0;
}
信息
- ID
- 168
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 665
- 已通过
- 148
- 上传者