1,分數的表示-----直接寫成假分數,用結構體
為分數制定三項規則:
1.使down為非負數。如果分數為負,那麼令分子為負即可;
2.如果該分數恰為0,那麼規定其分子為0,分母為1;
3.分子和分母沒有除了1以外的公約數;
struct fraction;
2,分數的化簡分數的化簡有三種情況:
1.如果分母down為負數,那麼令分子為負,分母為真,即分子分母取相反數;
2.如果分子up為0,那麼直接令分母為1;
3.約分,求分子分母絕對值的最大公約數d,然後令分子分母同時除d
fraction reduction(fraction result)
if(result.up==0)
result.dowm=1;
else
return result;
}
3,分數的四則運算1)加法
2)減法
3)乘法
4)除法
除法要注意,如果輸入的除數為0,那麼應該在進入函式之前進行特判
4,分數的輸出
輸出有一下注意點:
1.輸出之前,要化簡分數;
2.如果分母為1,則應該輸出分子;
3.如果分子up的絕對值大於分母down,應計算整數部分r.up/r.down,分子部分變為abs(r.up)%r.down;
void showresult(fraction r)
注意,分數的乘法 除法,可能爆int 所以一般用long long來儲存分子分 分數的四則運算
struct fraction 分數的化簡 化簡步驟如下,1,如果分母down為負數,那麼令分子up和分母down都變為相反數 2,如果分子up為0,那麼令分母為down為1 3,約分規則 求出分子絕對值與分母絕對值的最大公約數d,然後令分子與分母同時除以d。如下 fraction reductio...
分數的四則運算
1.分數的儲存 struct node result 2.分數的四則運算,以加法為例 node add node a,node b 3.分數的化簡 如果down為負數,那麼令up和down都變為相反數 如果up為0,令分母down為1 約分,求出分子絕對值和分母絕對值的最大公約數d,然後令分子和分母...
分數的四則運算
struct fraction 1.如果分數為負,負號放到分子上 2.如果分數為0,分子為0,分母為1 3.分子分母沒有除1以為的公約數 化簡 分三步 1.調整分子分母的負號 2.處理分數為0的情況 3.約分 分子分母絕對值的最大公約數。fraction reduction fraction a i...