bueno probe algo y aca tienes esto
solo es los decimales finitos, no los periodicos:
Código:
float a,b,c;
a=0.75;
b=a;
c=0;
int count=1;
while(b!=c){
b*=10;
c=int(b);
count*=10;
}
int as;
as=int(b);
//verificamos si el menor puede dividir abajo para factorizar
if((count%as)==0){
count/=as;
as/=as;
}
//como los unicos primos posibles de dividir es el 2 y 5 preguntamos si es
//posible, y los factorizamos
while(((count%5)==0)&&((as%5)==0)){
count/=5;
as/=5;
}
while(((count%2)==0)&&((as%2)==0)){
count/=2;
as/=2;
}
printf("la fracción es:%d/%d",as,count);
espero qu e te sirva.. :)