链接: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; }
原文地址:https://www.cnblogs.com/kixiaoyuan/p/12702353.html
时间: 2024-11-09 03:08:34