好的,先弄出個類來,**如下:
view code
1class
fraction2;
各成員實現如下:
view code
1好了,寫個主函式來測試下//建構函式
2fraction::fraction(
intx,
inty)310
denominator =y;
11}1213
fraction::
~fraction()
1417
//加法
18const
fraction fraction::add(
const
fraction w)
1925
26//
成員函式的過載
27//
分數 + 整數
28const
fraction fraction::add(
intk)
2935
36//
減法37
const
fraction fraction::sub(
const
fraction w)
3844
45//
成員函式的過載
46//
分數 - 整數
47const
fraction fraction::sub(
intk)
4854
55//
乘法56
const
fraction fraction::mul(
const
fraction w)
5763
64//
成員函式的過載
65//
分數 * 整數
66const
fraction fraction::mul(
intk)
6773
74//
除法75
const
fraction fraction::div(
const
fraction w)
7683
z.numerator
=numerator
*w.denominator;
84z.denominator
=denominator
*w.numerator;
85return
z;86}87
88//
成員函式的過載
89//
分數 / 整數
90const
fraction fraction::div(
intk)
9198
z.numerator
=numerator;
99z.denominator =k
*denominator;
100return
z;101
}102
103//
函式功能:使輸出的分數為真分數
104int
fraction::commonden(
void
)105
while
(p !=0);
115return
m;116
}117
118void
fraction::show(
void
)119
124else
125130
else
131134
}135
}136
137void
fraction::setn(
intx)
//設定分子
138141
void
fraction::setd(
inty)
//設定分母
142145
intfraction::getn(
void
)const
146149
intfraction::getd(
void
)const
150
view code
voidmain()
來看看測試結果吧!
C 四則運算器
leetcode上的題,只有 空格,計算所給表示式的數值 我現在用的辦法是 中綴表示式轉字尾表示式,然後計算 但是leetcode最後乙個示例是長度為20w的表示式,直接給我弄超時了,先把 放在這裡吧 計算器 include include include includeusing namespac...
分數的四則運算
1,分數的表示 直接寫成假分數,用結構體 為分數制定三項規則 1.使down為非負數。如果分數為負,那麼令分子為負即可 2.如果該分數恰為0,那麼規定其分子為0,分母為1 3.分子和分母沒有除了1以外的公約數 struct fraction 2,分數的化簡分數的化簡有三種情況 1.如果分母down為...
分數的四則運算
struct fraction 分數的化簡 化簡步驟如下,1,如果分母down為負數,那麼令分子up和分母down都變為相反數 2,如果分子up為0,那麼令分母為down為1 3,約分規則 求出分子絕對值與分母絕對值的最大公約數d,然後令分子與分母同時除以d。如下 fraction reductio...