當前位置:編程學習大全網 - 編程軟體 - C++中分數求和的算法

C++中分數求和的算法

#include<iostream>

using namespace std;

int MaxFactor(int nr,int dr)//用來尋找最大公因子,歐幾裏德算法

{

int th=nr,tl=dr;

if(nr<dr)

{th=dr;tl=nr;}

if(th%tl==0)

return tl;

else

return MaxFactor(tl,th%tl);

}

int main()

{

int n1,n2,d1,d2;

int nr,dr,t;

char c;

cout<<"請分別輸入兩個分數,用a/b c/d的形式"<<endl;//輸入兩個分數

cin>>n1>>c>>d1;

cin>>n2>>c>>d2;

dr=d1*d2;//計算新分數的分母

nr=d1*n2+d2*n1;//計算新分數的分子

if(nr%dr==0)//結果如果是整數,就直接輸出整數

cout<<"結果為:"<<nr/dr<<endl;

else//否則先約分在輸出最終結果

{

t=MaxFactor(nr,dr);//找最大公因子

dr/=t;

nr/=t;//分子分母分別約分至最簡

cout<<"結果為:"<<nr<<'/'<<dr<<endl;

}

return 0;

}

  • 上一篇:HONOR如何在桌面顯示天氣和時間?
  • 下一篇:關於VF編程語句的具體含義。
  • copyright 2024編程學習大全網