#include<stdio.h> #include<string.h> #include<math.h> #define prt printf int f(int a,int b) { int c; while( b!=0 ) { c=a%b; a=b; b=c; } return a; } int main() { int a,b,c,d,flag; char ch; int fenzi,fenmu,gcd; while( scanf("%d/%d%c%d/%d",&a,&b,&ch,&c,&d) != EOF) { //直接开始处理 flag=1; if( ch=='+') { fenzi=abs(a*d + b*c); }else if( ch=='-') { fenzi=abs(a*d - b*c); if( a*d - b*c < 0 ) flag=0; } gcd=f(fenzi,b*d); fenzi/=gcd; fenmu=b*d/gcd; if( flag == 0 )prt("-"); if( fenzi == fenmu && fenzi != 0 ) { prt("1\n"); }else if( fenzi == 0 ) { prt("0\n"); }else prt("%d/%d\n",fenzi,fenmu); } return 0; } /* Main.cc: In function `int main()': Main.cc:29: error: `abs' undeclared (first use this function) Main.cc:29: error: (Each undeclared identifier is reported only once for each function it appears in.) */ |
Double click to view unformatted code.