分数计算器(你值得拥有)

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. long long a,b,c,d,f,g,k;
  6. char e;
  7. cin>>a>>b;
  8. cin>>e;
  9. cin>>c>>d;
  10. if(e=='*'){//六年级上过吧?
  11. f=a*c;//口诀 分子相乘 分母相乘
  12. g=b*d;
  13. }
  14. if(e=='/'){//六年级上过吧?
  15. f=a*d;//口诀 除以一个数=除以他的倒数
  16. g=b*c;
  17. }
  18. if(e=='+'){//五年级上过吧?
  19. f=a*d+c*b;//不教了
  20. g=b*d;
  21. }
  22. if(e=='-'){//五年级上过吧?
  23. f=a*d-c*b;
  24. g=b*d;
  25. }
  26. while(1){//约分
  27. if(f%7==0 && g%7==0){f=f/7;g=g/7;}//约7,5,3,2
  28. else if(f%5==0 && g%5==0){f=f/5;g=g/5;}
  29. else if(f%3==0 && g%3==0){f=f/3;g=g/3;}
  30. else if(f%2==0 && g%2==0){f=f/2;g=g/2;}
  31. else break;
  32. }
  33. if(f>g){//化带分数
  34. k=f/g;
  35. if(f!=0){f=f-k*g;cout<<k<<" "<<f<<"/"<<g;}
  36. else cout<<k;
  37. }else cout<<f<<"/"<<g;
  38. return 0
  39. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值