1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| #include<stdio.h>
int gcd(int a,int b) {
if(b==0)
return a;
else
return gcd(b,a%b);
}
int main() {
int a,b,c,d;
char s;
while(scanf("%d/%d%c%d/%d",&a,&b,&s,&c,&d)!=EOF) {
int m,n=b*d;
a*=n/b;
c*=n/d;
if(s=='+')
m=a+c;
else {
if(a<c) {
printf("-");
m=c-a;
} else
m=a-c;
}
if(!m)
printf("0\n");
else if(m%n==0) {
printf("%d\n",m/n);
} else {
int t=gcd(m,n);
m/=t;
n/=t;
printf("%d/%d\n",m,n);
}
}
return 0;
}
|