View Code of Problem 3494

#include <stdio.h>
int find(int a,int b){
    int m = a,n = b;
    int c;
    while(n){
        c = m%n;
        m = n;
        n = c;
    }
    //printf("%d\n",a*b/m);
    return a*b/m;
}
int yinshu(int a,int b){
     int c;
     while(b){
        c=a%b;
        a = b;
        b = c;
     }
     //printf("%d\n",a);
     return a;
}
int main()
{
    int a,b,c,d;
    char str;
    while(scanf("%d/%d%c%d/%d",&a,&b,&str,&c,&d) != EOF){
        if(b == d){
            if(a == c&&str == '-'){
                printf("0\n");
            }
            if(a != c&&str == '-'){
                    if((a-c) == b){
                        printf("%d\n",(a-c)/b);
                    }
                    else{
                        int t = yinshu(a-c,b);
                        printf("%d/%d\n",(a-c)/t,b/t);
                    }
            }
            if(str == '+'){
                    if((a+c) == d){
                        printf("%d\n",(a+c)/d)
                    }
                    else{
                        int t = yinshu(a+c,d);
                        //printf("%d\n",t);
                        printf("%d/%d\n",(a+c)/t,b/t);
                    }
            }
        }
        else{
            int n,m;
            if(str == '-'){
                m = find(b,d);
                int k,i;
                k = m/b;
                i = m/d;
                //printf("%d %d\n",k,i);
                n = a*k-c*i;
                //printf("%d\n",n);
            }
            if(str == '+'){
                m = find(b,d);
                int k,i;
                k = m/b;
                i = m/d;
                n = a*i+d*k;
            }int t;
            if(n < 0){
              t =  yinshu(-n,m);
            }else{
                t = yinshu(n,m);
            }
            printf("%d/%d\n",n/t,m/t);
        }
    }
    return 0;
}
/*
F:\temp\22493541.27071\Main.c: In function 'main':
F:\temp\22493541.27071\Main.c:45: error: expected ';' before '}' token
*/

Double click to view unformatted code.


Back to problem 3494