
using namespace std
/*最简单的方法就是,分子和分母如果可以同除一个数,那么就约去这个数
直到这个除数大于猛激分子或分母,那么这个分数就是最简的了*/
int main()
{
int n,m,max
cout<<"输入物举分子:"<<endl
cin>>n
cout<<"输入分母:"<<endl
cin>>m
for(int i=2n>=ii++)
if(n%i==0 &&m%i==0)
{
n/=i
m/=i
i--
}
cout<<n<<"/罩知碧"<<m<<endl
return 0
}
楼主你世衡好!
根据你的要求实现代码消隐如下!
#include<stdio.h>
int fun(int m,int n){
int r
while(r=m%n){
m=n
n=r
}
return n
}
int main(){
int m,n,d
printf("请输入分搜桥做数:")
scanf("%d/%d",&m,&n)
d=fun(m,n)
printf("\n约分后为:%d/%d",m/d,n/d)
return 0
}
希望我的回答对你有帮助!
经过我的跟踪调试,发现你的约分方法有点问题。比如2/5 + 3/5;
经过计算会得出25/25;
约分时遇到5了,然后约分一次,但是纳握约分不会再次从头遍历数州茄樱组里面的质数(39除外),而是i继续自增了。因此约分的不彻底。
如果需要约分彻底,那么需要对约分进行检测,如果本次遍历进行了约分,那么再次从头遍历一次数组。如果本次遍历没有约分,那么就退出循册丛环。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)