分數的四則運算

2021-08-23 12:23:00 字數 1460 閱讀 2823

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...