Questo è un semplice codice che puoi adattare alle tue esigenze , che utilizza l'algoritmo euclideo .
codice:
#include <stdio.h>
int getmcd(int,int);
void main()
{
int num,den,mcd;
/*valori di prova per il numeratore e il denominatore */
num=36;
den=39;
mcd=getmcd(num,den);
printf("%d/%d=",num,den);
num=num/mcd;
den=den/mcd;
printf("%d/%d\n",num,den);
}
int getmcd(int a,int b)
{
int max,min,tmp;
max=(a>b) ? a : b;
if (max==a)
min=b;
else
min=a;
while ((max%min)!=0)
{
max=max-min;
if (max<min)
{
tmp=max;
max=min;
min=tmp;
}
}
return min;
}