Red de conocimiento informático - Material del sitio web - Cómo sumar fracciones en lenguaje C, generarlas como fracciones y simplificarlas

Cómo sumar fracciones en lenguaje C, generarlas como fracciones y simplificarlas

Programa C completo:

#include?"stdio.h"

/*?Estructura fraccionaria? */

typedef?struct

{

int?*/

int?*/

} ?Fracción;

int?GCD(int?a, int?b);

int?LCM(int?a, int?b);

¿Fracción?Add(Fracción?f1,?Fracción?f2);

void?main()

{

Fracción?f1,?f2,?f3 ;

f1.numerador?=?1;

f1.denominador?=?3;

f2.numerador?=?1;

f2.d/d\n",?f1.numerador,?f1.denominador,?f2.numerador,?f2.denominador,?f3.numerador,?f3.denominador);

}

/*?¿Devuelve el resultado de sumar dos fracciones? */

Fraction?Add(Fraction?f1,?Fraction?f2)

{

Fracción?retValue;

int?lcm?=?LCM(f1.denominator,?f2.denominator); /*?Calcular el mínimo común múltiplo */

int?gcd;

retValue.denominator?=?lcm;

retValue.numerator?=?f1.numerator?*?lcm? /?f1.Denominador? ?f2.Numerador?*?lcm?/?f2.Denominador;

gcd?=?GCD(retValue.numerador,?retValue.denominador);

retValue.numerator?/=?gcd;

RetValue.p> retValue.denominator?/=?gcd;

return?retValue;

}

p>

/*?Devuelve el máximo común divisor de dos números enteros */

int?GCD(int?a, int?b)

{

int?i, temp_gcd;

for(i=a;igt;=1;i--)

{

si (ai= =0)

{

si( bi==0)

{

temp_gcd=i;

return?temp_gcd;

}

}

}

}

}

/*?¿Devolver el mínimo común múltiplo de dos números enteros? */

int?LCM(int?a, int?b)

{

int?temp_lcm;

temp_lcm?= ?a?*?b?/?GCD(a,b);

return?temp_lcm;

}

Ejecute la prueba: