#include
using namespace std;
void gys(long long &a, long long &b);
void cout(long long k1,long long a1,long long b1,char s,long long k2,long long a2,long long b2,long long k,long long a,long long b);
void cout(long long k1,long long a1,long long b1,char s,long long k2,long long a2,long long b2);
char c;
int main()
k=a/b;
a=a-k*b;
gys(a,b);
//da yin
cout(k1,a1,b1,s,k2,a2,b2,k,a,b);
}else
cout(k1,a1,b1,s,k2,a2,b2);
return 0;
}void gys(long long &a, long long &b)}}
void cout(long long k1,long long a1,long long b1,char s,long long k2,long long a2,long long b2,long long k,long long a,long long b)
else if(k1==0)
coutcoutcoutcout<}
else if(k1==0)
cout<<0<<" ";
coutif(k2>0)
coutcout<<"(-"<<-k2<<" ";
else if(k2!=0)
cout<<"(-"<<-k2<<") ";
if(a2!=0)
else
coutcoutcout<}
else if(k2==0)
cout<<0<<" ";
cout<<"= ";
if(k)
if(k>0&&a==0)
cout< else if(k>0&&a!=0)
coutcout<<"(-"<<-k<<" ";
else
cout<<"(-"<<-k<<")";
if(a!=0)
else
coutcoutcout<}
else if(k==0)
cout<<0;
}void cout(long long k1,long long a1,long long b1,char s,long long k2,long long a2,long long b2)
else
coutcoutcout<}
else if(k1==0)
cout<<0<<" ";
coutif(k2>0)
coutcout<<"(-"<<-k2<<" ";
else
cout<<"(-"<<-k2<<") ";
if(a2!=0)
else
coutcoutcout<}
else if(k2==0)
cout<<0<<" ";//
cout<<"= ";
cout<<"inf";
注意每則運算結果輸出後面不能帶空格,除法輸出之後不能有回車。 區分有理數的代數k,分母a兩者為零和不為零時的輸出格式,有理數為負數或正數時的輸出格式。
例:5/3 0/6
1 2/3 + 0 = 1 2/3
1 2/3 - 0 = 1 2/3
1 2/3 * 0 = 0
1 2/3 / 0 = inf
PAT乙級1034 有理數四則運算
1034 有理數四則運算 20 20 分 本題要求編寫程式,計算2個有理數的和 差 積 商。輸入格式 輸入在一行中按照 a1 b1 a2 b2 的格式給出兩個分數形式的有理數,其中分子和分母全是整型範圍內的整數,負號只可能出現在分子前,分母不為0。輸出格式 分別在4行中按照 有理數1 運算子 有理數...
PAT 1034 有理數四則運算
1034 有理數四則運算 20 分 本題要求編寫程式,計算 2 個有理數的和 差 積 商。輸入在一行中按照a1 b1 a2 b2的格式給出兩個分數形式的有理數,其中分子和分母全是整型範圍內的整數,負號只可能出現在分子前,分母不為 0。分別在 4 行中按照有理數1 運算子 有理數2 結果的格式順序輸出...
PAT乙級 有理數四則運算 c
難點在於 1 輸出格式要考慮全面,尤其是有負號的時候 2 當進行分數除法時,第二個數的 分子分母的正負號要交換一下。下面就是針對於這種情況的乙個用例。3 求最大公約數,最小公倍數,固定 把加法的輸出格式 弄好之後,其他三種就好做了 includeusing namespace std int spl...