构造一个分数结构体,包括分子和分母,主函数要求用此结构体实现分数相加 并化简,在屏幕上显示结果。 求助大佬,我这个为啥问题呀,1/6 + 1/3结果是2/2,应该是1/2才对,但是不知道哪里不对,求调
#include<bits/stdc++.h>
using namespace std;
struct fenshu{
int zi,mu;
};
int gfactor(int a,int b){
while(b!=0){
int c;
c=a%b;
a=b;
b=c;}
return a;
}
int main(){
struct fenshu f[2],final;
for(int i=0;i<2;i++){
cin>>f[i].zi>>f[i].mu;
}
final.zi=f[0].zi*f[1].mu+f[1].zi*f[0].mu;
final.mu=f[0].mu*f[1].mu;
int g=gfactor(final.zi,final.mu);
final.zi=final.zi/g;
final.mu=final.mu/g;
cout<<final.mu<<"/"<<final.mu<<endl;
return 0;
}