码迷,mamicode.com
首页 > 编程语言 > 详细

小学生趣味C++编程第53课 化功大法(完整)

时间:2020-04-15 00:16:14      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:baidu   return   include   ||   long   退出   fabs   最大公约数   a*   

链接:https://pan.baidu.com/s/1qDdBkFPakLtCvh8_W2wiog 
提取码:x3zg

#include<iostream>
#include<cmath> //调用求浮点数的绝对值函数fabs() 
using namespace std;
int main()
{
  double x,y;
  long long a,b,i,j;
  cout<<"请输入一个纯小数"<<endl;
  do
  {
    cout<<"x=";
    cin>>x;
  }while(x>=1||x<=0);
  a=1;
  y=x;
  while(fabs(y-(int)y)>1e-10)   //纯小数化成整数
  {
    a*=10;
    y=x*a;          //不可以写成  y=y*10;
  }                 //因误差不停的扩大,会出现死循环
  b=y;
  cout<<b<<‘/‘<<a<<endl;
  for(i=b;i>=1;i--)  //求出a和b的最大公约
    if(b%i==0&&a%i==0) 
    {
      j=i;   //找出最大公约数后,赋值给j
      break; //退出循环
    }
  cout<<"最简分数为:";
  cout<<b/j<<‘/‘<<a/j<<endl;	 
  return 0;
}

  

小学生趣味C++编程第53课 化功大法(完整)

标签:baidu   return   include   ||   long   退出   fabs   最大公约数   a*   

原文地址:https://www.cnblogs.com/kixiaoyuan/p/12702353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!