Description
編寫一個C程序,實現兩個分數的加減法Input
輸入包含多行數據Output
對於輸入數據的每一行輸出兩個分數的運算結果。Sample Input
1/8+3/8 1/4-1/2 1/3-1/3
Sample Output
1/2 -1/4 0
#include#include #include using namespace std; int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } int main() { int a,b,c,d,x,y,sum,k,t; char s; while(scanf("%d/%d%c%d/%d",&a,&b,&s,&c,&d)!=EOF) { if(s=='+') { x=a*d+b*c; y=b*d; k=x/gcd(x,y); t=y/gcd(x,y); if(t==1) printf("%d\n",k); else { printf("%d/%d\n",k,t); } } else { x=a*d-b*c; y=b*d; if(x==0) printf("0\n"); else{ k=x/gcd(x,y); t=y/gcd(x,y); if(t==1) printf("%d\n",k); else { if(x>0) printf("%d/%d\n",k,t); else printf("%d/%d\n",k*-1,t*-1);} } } } return 0; }