分?jǐn)?shù)的四則運(yùn)算

1、分?jǐn)?shù)的表示

struct fraction{
    int up,down;
}; 

2、分?jǐn)?shù)的化簡(jiǎn)
1、負(fù)分?jǐn)?shù)的情況:使down為非負(fù)數(shù),如果分?jǐn)?shù)為負(fù),則令up為負(fù)數(shù)即可
2、分?jǐn)?shù)為0的情況:如果分?jǐn)?shù)位0,則令分子為0,分母為1;
3、化簡(jiǎn)的情況:分子和分母沒(méi)有除了1以外的公約數(shù)

fraction reduction(fraction result){
    if(result.down < 0){
        result.up = -result.up;
        result.down = -result.down;
    }
    
    if(result.up < 0){  //如果分子為,令分母為0 
        result.down = 1;
    }else{  //如果分子不為0,則進(jìn)行約分
        int d = gcd(result.up,result.down);
        result.up / =d;
        result.down /= d; 
        
    }
    
    return result;
} 

3、分?jǐn)?shù)的四則運(yùn)算
怎么記憶呢:
加減一組,只是變分子的符號(hào)
乘除一組,只是變相乘的對(duì)象
(1)分?jǐn)?shù)的加法:(本質(zhì)就是我們那種學(xué)的運(yùn)算)

fraction add(faction f1,fraction f2){
    fraction result;
    result.up = f1.up * f2.down + f1.down * f2.up;  //分?jǐn)?shù)的分子 
    result.down = f1.down * f2.down;    //分?jǐn)?shù)的分母 
    return reduction(result);   //返回結(jié)果分?jǐn)?shù),注意化簡(jiǎn) 
}

(2)分?jǐn)?shù)的減法:

fraction add(faction f1,fraction f2){
    fraction result;
    result.up = f1.up * f2.down - f1.down * f2.up;  //分?jǐn)?shù)的分子 
    result.down = f1.down * f2.down;    //分?jǐn)?shù)的分母 
    return reduction(result);   //返回結(jié)果分?jǐn)?shù),注意化簡(jiǎn) 
}

(3)分?jǐn)?shù)的乘法:

fraction add(faction f1,fraction f2){
    fraction result;
    result.up = f1.up * f2.up;  //分?jǐn)?shù)的分子 
    result.down = f1.down * f2.down;    //分?jǐn)?shù)的分母 
    return reduction(result);   //返回結(jié)果分?jǐn)?shù),注意化簡(jiǎn) 
}

(4)分?jǐn)?shù)的除法:(本質(zhì)也沒(méi)有變)

fraction add(faction f1,fraction f2){
    fraction result;
    result.up = f1.up * f2.down;    //分?jǐn)?shù)的分子 
    result.down = f1.down * f2.up;  //分?jǐn)?shù)的分母 
    return reduction(result);   //返回結(jié)果分?jǐn)?shù),注意化簡(jiǎn) 
}

4、分?jǐn)?shù)的輸出:

void showresult(fraction r){
    r = reduction(r);
    if(r.down = 1) cout<<r.up;
    else if(abs(r.up) > r.down){
        printf("%d %d/%d",r.up / r.down,abs(a.up) % r.down,r.down);
    }else{
        printf("%d/%d",r.up,r.down);
    }
    
} 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容