请问一下有没有,小数化分数的代码?
请问一下有没有,小数化分数的代码?
这道题相当难,不像楼上的说得那么简单。
比如3.3333要化成10/3;0.25要化成1/4。就是这个意思。看有没有什么办法。
谢谢,你看这个有什么问题? 可以通过,但最后"killing process"
#include<stdio.h>
#include<ctype.h>
main()
{char ch[30];
double m;
int k,j=1;
clrscr();
printf("Input decimal fraction:\n");
scanf("%f",&m);
k=getint(m);
while(m!=k)
{m*=10;
k*=10;
j*=10;
}
m=m/zdgys(m,j);
j=j/zdgys(m,j);
printf("The fenshu is %d/%d",m,j);
}
int getint(double a)
{int l;
l=(int)a;
return l;
}
zdgys(int c,int d)
{double o,p;
o=1;p=1;
while(c/o!=d/p)
{while(c/o>d/p)
o++;
while(c/o<d/p)
p++;
}
while(c/o==d/p)
return (c/o);
}