通过代码:
#include <bits/stdc++.h> using namespace std; struct dev { int upper, lower; dev() { upper = 0, lower = 1; } void init(){ scanf("%d/%d", &upper, &lower); } void print() { if(lower == 1) printf("%d", upper); else printf("%d/%d", upper, lower); } void reduce() { for(int i = 2; i <= min(upper, lower); i ++) if(upper % i == 0 && lower % i == 0) upper /= i, lower /= i, i --; } } a[11], sum; int n; dev operator + (dev _a,dev _b) { dev _n; _n.lower = _a.lower * _b.lower; _n.upper = _a.upper * _b.lower + _a.lower * _b.upper; _n.reduce(); return _n; } int main() { scanf("%d", &n); for(int i = 1; i <= n; i ++) { a[i].init(); sum = sum + a[i]; } sum.print(); return 0; }
1209:分数求和
最新推荐文章于 2024-02-23 22:53:34 发布