En este caso, el programa se encarga, de devolver en pantalla, un número expresado en forma de fracción, el cual se introduce previamente en forma racional.
#include
#include
#include
int main(void)
{
float racional,Y;
int decimales,denominador,numerador,mult,densimp,numsimp,Z,X;
denominador=1;
printf("Ingrese un numero racional:");//Pide racional.
scanf("%f",&racional);
for(decimales=-1,Z=1;Y!=X;decimales+=1,Z*=10)//Obtiene cantidad de decimales.
{
Y=(racional*Z);
X=((int)Y);
}
for (mult=1;mult<=decimales;mult++,denominador*=10)//Multiplica por 10 como tantos decimales tenga.
{
}
numerador=(int)(racional*denominador);//Obtiene el numerador multiplicado.
printf("%f = %d\/%d",racional,numerador,denominador);//Fracción del racional.
while (numerador%2==0 && denominador%2==0)//Simplifica por 2.
{
numsimp=(int)(numerador/2);
densimp=(int)(denominador/2);
numerador=numsimp;
denominador=densimp;
}
while (numerador%5==0 && denominador%5==0)//Simplifica por 5.
{
numsimp=(int)(numerador/5);
densimp=(int)(denominador/5);
numerador=numsimp;
denominador=densimp;
}
printf("= %d\/%d\n",numerador,denominador);//Fracción mínima expresión.
system("PAUSE");
return EXIT_SUCCESS;
}
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario