#include<stdio.h> #include<math.h> int gys(int a,int b){ if(a>b) { int t=a; a=b; b=t; } for(int i=a;i>0;i--) if(a%i==0&&b%i==0) return i; } int main(){ int a,b,c,d; char ch,str; int num[2]; while(scanf("%d/%d%c%d/%d",&a,&b,&ch,&c,&d)!=EOF){ str='0'; if(b!=d){ int t=b*d; num[0]=t; int k1=t/b*a,k2=t/d*c; if(ch=='+'){ num[1]=k1+k2; } else{ int k=k1-k2; if(k<0) str='-'; num[1]=abs(k); } } else { num[0]=b; if(ch=='+'){ num[1]=a+c; } else{ int k=a-c; if(k<0) str='-'; num[1]=abs(k); } } if(num[1]==0) printf("0\n"); else{ if(str=='-') printf("-"); int t=gys(num[0],num[1]); printf("%d/%d\n",num[1]/t,num[0]/t); } } } |
Double click to view unformatted code.